@hatiolab/things-scene 9.0.2 → 10.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -29
- package/dist-types/animation/animate.d.ts +8 -0
- package/dist-types/animation/animate.d.ts.map +1 -0
- package/dist-types/animation/animations/animation.d.ts +90 -0
- package/dist-types/animation/animations/animation.d.ts.map +1 -0
- package/dist-types/animation/animations/fade.d.ts +25 -0
- package/dist-types/animation/animations/fade.d.ts.map +1 -0
- package/dist-types/animation/animations/heartbeat.d.ts +24 -0
- package/dist-types/animation/animations/heartbeat.d.ts.map +1 -0
- package/dist-types/animation/animations/moving.d.ts +25 -0
- package/dist-types/animation/animations/moving.d.ts.map +1 -0
- package/dist-types/animation/animations/outline.d.ts +58 -0
- package/dist-types/animation/animations/outline.d.ts.map +1 -0
- package/dist-types/animation/animations/rotation.d.ts +24 -0
- package/dist-types/animation/animations/rotation.d.ts.map +1 -0
- package/dist-types/animation/animations/vibration.d.ts +24 -0
- package/dist-types/animation/animations/vibration.d.ts.map +1 -0
- package/dist-types/animation/animations/waypoint.d.ts +60 -0
- package/dist-types/animation/animations/waypoint.d.ts.map +1 -0
- package/dist-types/animation/compile.d.ts +16 -0
- package/dist-types/animation/compile.d.ts.map +1 -0
- package/dist-types/animation/delta.d.ts +57 -0
- package/dist-types/animation/delta.d.ts.map +1 -0
- package/dist-types/animation/index.d.ts +7 -0
- package/dist-types/animation/index.d.ts.map +1 -0
- package/dist-types/animation/interfaces.d.ts +123 -0
- package/dist-types/animation/interfaces.d.ts.map +1 -0
- package/dist-types/command/command-change.d.ts +10 -0
- package/dist-types/command/command-change.d.ts.map +1 -0
- package/dist-types/command/command-migrate.d.ts +5 -0
- package/dist-types/command/command-migrate.d.ts.map +1 -0
- package/dist-types/command/command.d.ts +6 -0
- package/dist-types/command/command.d.ts.map +1 -0
- package/dist-types/command/snapshot-commander.d.ts +17 -0
- package/dist-types/command/snapshot-commander.d.ts.map +1 -0
- package/dist-types/components/anchor/anchor.d.ts +65 -0
- package/dist-types/components/anchor/anchor.d.ts.map +1 -0
- package/dist-types/components/anchor/ellipse-anchors.d.ts +16 -0
- package/dist-types/components/anchor/ellipse-anchors.d.ts.map +1 -0
- package/dist-types/components/anchor/rect-anchors.d.ts +16 -0
- package/dist-types/components/anchor/rect-anchors.d.ts.map +1 -0
- package/dist-types/components/audio.d.ts +284 -0
- package/dist-types/components/audio.d.ts.map +1 -0
- package/dist-types/components/cloud.d.ts +17 -0
- package/dist-types/components/cloud.d.ts.map +1 -0
- package/dist-types/components/component-data.d.ts +19 -0
- package/dist-types/components/component-data.d.ts.map +1 -0
- package/dist-types/components/component-drawing.d.ts +27 -0
- package/dist-types/components/component-drawing.d.ts.map +1 -0
- package/dist-types/components/component-geometry.d.ts +54 -0
- package/dist-types/components/component-geometry.d.ts.map +1 -0
- package/dist-types/components/component-hierarchy.d.ts +22 -0
- package/dist-types/components/component-hierarchy.d.ts.map +1 -0
- package/dist-types/components/component-text.d.ts +18 -0
- package/dist-types/components/component-text.d.ts.map +1 -0
- package/dist-types/components/component.d.ts +286 -0
- package/dist-types/components/component.d.ts.map +1 -0
- package/dist-types/components/container-abstract.d.ts +515 -0
- package/dist-types/components/container-abstract.d.ts.map +1 -0
- package/dist-types/components/container.d.ts +286 -0
- package/dist-types/components/container.d.ts.map +1 -0
- package/dist-types/components/data/data-mapping.d.ts +19 -0
- package/dist-types/components/data/data-mapping.d.ts.map +1 -0
- package/dist-types/components/data/data.d.ts +6 -0
- package/dist-types/components/data/data.d.ts.map +1 -0
- package/dist-types/components/data/evaluator.d.ts +2 -0
- package/dist-types/components/data/evaluator.d.ts.map +1 -0
- package/dist-types/components/donut.d.ts +15 -0
- package/dist-types/components/donut.d.ts.map +1 -0
- package/dist-types/components/drawer/draw-image-pendable.d.ts +2 -0
- package/dist-types/components/drawer/draw-image-pendable.d.ts.map +1 -0
- package/dist-types/components/drawer/effect.d.ts +2 -0
- package/dist-types/components/drawer/effect.d.ts.map +1 -0
- package/dist-types/components/drawer/fill.d.ts +5 -0
- package/dist-types/components/drawer/fill.d.ts.map +1 -0
- package/dist-types/components/drawer/format.d.ts +2 -0
- package/dist-types/components/drawer/format.d.ts.map +1 -0
- package/dist-types/components/drawer/line.d.ts +4 -0
- package/dist-types/components/drawer/line.d.ts.map +1 -0
- package/dist-types/components/drawer/stroke.d.ts +2 -0
- package/dist-types/components/drawer/stroke.d.ts.map +1 -0
- package/dist-types/components/drawer/text-wrapper.d.ts +2 -0
- package/dist-types/components/drawer/text-wrapper.d.ts.map +1 -0
- package/dist-types/components/drawer/text.d.ts +4 -0
- package/dist-types/components/drawer/text.d.ts.map +1 -0
- package/dist-types/components/ellipse.d.ts +260 -0
- package/dist-types/components/ellipse.d.ts.map +1 -0
- package/dist-types/components/file/ondropfile.d.ts +2 -0
- package/dist-types/components/file/ondropfile.d.ts.map +1 -0
- package/dist-types/components/geometry/transcoord.d.ts +43 -0
- package/dist-types/components/geometry/transcoord.d.ts.map +1 -0
- package/dist-types/components/geometry/union.d.ts +3 -0
- package/dist-types/components/geometry/union.d.ts.map +1 -0
- package/dist-types/components/gif-view.d.ts +29 -0
- package/dist-types/components/gif-view.d.ts.map +1 -0
- package/dist-types/components/global-ref.d.ts +49 -0
- package/dist-types/components/global-ref.d.ts.map +1 -0
- package/dist-types/components/group.d.ts +27 -0
- package/dist-types/components/group.d.ts.map +1 -0
- package/dist-types/components/html/elements.d.ts +2 -0
- package/dist-types/components/html/elements.d.ts.map +1 -0
- package/dist-types/components/html/fill.d.ts +2 -0
- package/dist-types/components/html/fill.d.ts.map +1 -0
- package/dist-types/components/html/reposition.d.ts +2 -0
- package/dist-types/components/html/reposition.d.ts.map +1 -0
- package/dist-types/components/html/shadow.d.ts +2 -0
- package/dist-types/components/html/shadow.d.ts.map +1 -0
- package/dist-types/components/html-overlay-container.d.ts +250 -0
- package/dist-types/components/html-overlay-container.d.ts.map +1 -0
- package/dist-types/components/html-overlay-element.d.ts +481 -0
- package/dist-types/components/html-overlay-element.d.ts.map +1 -0
- package/dist-types/components/image-view.d.ts +298 -0
- package/dist-types/components/image-view.d.ts.map +1 -0
- package/dist-types/components/index.d.ts +34 -0
- package/dist-types/components/index.d.ts.map +1 -0
- package/dist-types/components/info-window.d.ts +272 -0
- package/dist-types/components/info-window.d.ts.map +1 -0
- package/dist-types/components/line.d.ts +72 -0
- package/dist-types/components/line.d.ts.map +1 -0
- package/dist-types/components/local-ref.d.ts +277 -0
- package/dist-types/components/local-ref.d.ts.map +1 -0
- package/dist-types/components/mixins/connectable.d.ts +266 -0
- package/dist-types/components/mixins/connectable.d.ts.map +1 -0
- package/dist-types/components/mixins/data-source.d.ts +233 -0
- package/dist-types/components/mixins/data-source.d.ts.map +1 -0
- package/dist-types/components/mixins/html-element.d.ts +244 -0
- package/dist-types/components/mixins/html-element.d.ts.map +1 -0
- package/dist-types/components/mixins/move-handle.d.ts +234 -0
- package/dist-types/components/mixins/move-handle.d.ts.map +1 -0
- package/dist-types/components/mixins/rect-path.d.ts +246 -0
- package/dist-types/components/mixins/rect-path.d.ts.map +1 -0
- package/dist-types/components/mixins/value-holder.d.ts +238 -0
- package/dist-types/components/mixins/value-holder.d.ts.map +1 -0
- package/dist-types/components/mutater/bounds.d.ts +2 -0
- package/dist-types/components/mutater/bounds.d.ts.map +1 -0
- package/dist-types/components/mutater/path.d.ts +2 -0
- package/dist-types/components/mutater/path.d.ts.map +1 -0
- package/dist-types/components/node.d.ts +259 -0
- package/dist-types/components/node.d.ts.map +1 -0
- package/dist-types/components/ortholine.d.ts +8 -0
- package/dist-types/components/ortholine.d.ts.map +1 -0
- package/dist-types/components/outline/ellipse-outline.d.ts +2 -0
- package/dist-types/components/outline/ellipse-outline.d.ts.map +1 -0
- package/dist-types/components/outline/path-outline.d.ts +2 -0
- package/dist-types/components/outline/path-outline.d.ts.map +1 -0
- package/dist-types/components/path.d.ts +8 -0
- package/dist-types/components/path.d.ts.map +1 -0
- package/dist-types/components/polygon.d.ts +27 -0
- package/dist-types/components/polygon.d.ts.map +1 -0
- package/dist-types/components/polyline.d.ts +26 -0
- package/dist-types/components/polyline.d.ts.map +1 -0
- package/dist-types/components/popup.d.ts +281 -0
- package/dist-types/components/popup.d.ts.map +1 -0
- package/dist-types/components/position/absolute.d.ts +48 -0
- package/dist-types/components/position/absolute.d.ts.map +1 -0
- package/dist-types/components/position/popup-position.d.ts +24 -0
- package/dist-types/components/position/popup-position.d.ts.map +1 -0
- package/dist-types/components/rect.d.ts +499 -0
- package/dist-types/components/rect.d.ts.map +1 -0
- package/dist-types/components/retention/retention-manager.d.ts +10 -0
- package/dist-types/components/retention/retention-manager.d.ts.map +1 -0
- package/dist-types/components/root-container.d.ts +112 -0
- package/dist-types/components/root-container.d.ts.map +1 -0
- package/dist-types/components/ruler.d.ts +246 -0
- package/dist-types/components/ruler.d.ts.map +1 -0
- package/dist-types/components/shape.d.ts +26 -0
- package/dist-types/components/shape.d.ts.map +1 -0
- package/dist-types/components/star.d.ts +14 -0
- package/dist-types/components/star.d.ts.map +1 -0
- package/dist-types/components/text/substitutor.d.ts +4 -0
- package/dist-types/components/text/substitutor.d.ts.map +1 -0
- package/dist-types/components/text.d.ts +245 -0
- package/dist-types/components/text.d.ts.map +1 -0
- package/dist-types/components/triangle.d.ts +31 -0
- package/dist-types/components/triangle.d.ts.map +1 -0
- package/dist-types/const.d.ts +59 -0
- package/dist-types/const.d.ts.map +1 -0
- package/dist-types/core/collection.d.ts +25 -0
- package/dist-types/core/collection.d.ts.map +1 -0
- package/dist-types/core/debug.d.ts +2 -0
- package/dist-types/core/debug.d.ts.map +1 -0
- package/dist-types/core/deep-equals.d.ts +2 -0
- package/dist-types/core/deep-equals.d.ts.map +1 -0
- package/dist-types/core/dom-to-image.d.ts +132 -0
- package/dist-types/core/dom-to-image.d.ts.map +1 -0
- package/dist-types/core/event.d.ts +9 -0
- package/dist-types/core/event.d.ts.map +1 -0
- package/dist-types/core/index.d.ts +3 -0
- package/dist-types/core/index.d.ts.map +1 -0
- package/dist-types/core/list.d.ts +82 -0
- package/dist-types/core/list.d.ts.map +1 -0
- package/dist-types/core/logger.d.ts +4 -0
- package/dist-types/core/logger.d.ts.map +1 -0
- package/dist-types/core/memoize.d.ts +20 -0
- package/dist-types/core/memoize.d.ts.map +1 -0
- package/dist-types/core/mixin.d.ts +2 -0
- package/dist-types/core/mixin.d.ts.map +1 -0
- package/dist-types/core/obj-accessor.d.ts +2 -0
- package/dist-types/core/obj-accessor.d.ts.map +1 -0
- package/dist-types/core/reference-map.d.ts +20 -0
- package/dist-types/core/reference-map.d.ts.map +1 -0
- package/dist-types/core/round-rect.d.ts +26 -0
- package/dist-types/core/round-rect.d.ts.map +1 -0
- package/dist-types/core/safe-round.d.ts +2 -0
- package/dist-types/core/safe-round.d.ts.map +1 -0
- package/dist-types/core/script-loader.d.ts +4 -0
- package/dist-types/core/script-loader.d.ts.map +1 -0
- package/dist-types/core/snapshot-taker.d.ts +14 -0
- package/dist-types/core/snapshot-taker.d.ts.map +1 -0
- package/dist-types/core/stack.d.ts +3 -0
- package/dist-types/core/stack.d.ts.map +1 -0
- package/dist-types/core/timecapsule.d.ts +29 -0
- package/dist-types/core/timecapsule.d.ts.map +1 -0
- package/dist-types/core/utils.d.ts +10 -0
- package/dist-types/core/utils.d.ts.map +1 -0
- package/dist-types/decorator/decorator-registry.d.ts +82 -0
- package/dist-types/decorator/decorator-registry.d.ts.map +1 -0
- package/dist-types/decorator/decorator.d.ts +123 -0
- package/dist-types/decorator/decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/anchors-decorator.d.ts +77 -0
- package/dist-types/decorator/decorators/anchors-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/animated-icon-decorator.d.ts +168 -0
- package/dist-types/decorator/decorators/animated-icon-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts +96 -0
- package/dist-types/decorator/decorators/border-highlighting-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts +56 -0
- package/dist-types/decorator/decorators/bouncing-arrow-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/data-spread-decorator.d.ts +52 -0
- package/dist-types/decorator/decorators/data-spread-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/decotag-decorator.d.ts +41 -0
- package/dist-types/decorator/decorators/decotag-decorator.d.ts.map +1 -0
- package/dist-types/decorator/decorators/link-decorator.d.ts +60 -0
- package/dist-types/decorator/decorators/link-decorator.d.ts.map +1 -0
- package/dist-types/decorator/index.d.ts +13 -0
- package/dist-types/decorator/index.d.ts.map +1 -0
- package/dist-types/decorator/raster-decorator.d.ts +126 -0
- package/dist-types/decorator/raster-decorator.d.ts.map +1 -0
- package/dist-types/decorator/vector-decorator.d.ts +185 -0
- package/dist-types/decorator/vector-decorator.d.ts.map +1 -0
- package/dist-types/diagnostics/inspector.d.ts +147 -0
- package/dist-types/diagnostics/inspector.d.ts.map +1 -0
- package/dist-types/diagnostics/metrics.d.ts +55 -0
- package/dist-types/diagnostics/metrics.d.ts.map +1 -0
- package/dist-types/effect/gradation.d.ts +2 -0
- package/dist-types/effect/gradation.d.ts.map +1 -0
- package/dist-types/effect/index.d.ts +2 -0
- package/dist-types/effect/index.d.ts.map +1 -0
- package/dist-types/effect/shadow.d.ts +3 -0
- package/dist-types/effect/shadow.d.ts.map +1 -0
- package/dist-types/effect/turn.d.ts +2 -0
- package/dist-types/effect/turn.d.ts.map +1 -0
- package/dist-types/event/event-engine.d.ts +13 -0
- package/dist-types/event/event-engine.d.ts.map +1 -0
- package/dist-types/event/event-pump.d.ts +12 -0
- package/dist-types/event/event-pump.d.ts.map +1 -0
- package/dist-types/event/event-tracker.d.ts +23 -0
- package/dist-types/event/event-tracker.d.ts.map +1 -0
- package/dist-types/event/index.d.ts +3 -0
- package/dist-types/event/index.d.ts.map +1 -0
- package/dist-types/event/ua-event-handler.d.ts +38 -0
- package/dist-types/event/ua-event-handler.d.ts.map +1 -0
- package/dist-types/event-map/event-map.d.ts +12 -0
- package/dist-types/event-map/event-map.d.ts.map +1 -0
- package/dist-types/event-map/index.d.ts +8 -0
- package/dist-types/event-map/index.d.ts.map +1 -0
- package/dist-types/event-map/move-handler.d.ts +2 -0
- package/dist-types/event-map/move-handler.d.ts.map +1 -0
- package/dist-types/event-map/paste-handler.d.ts +2 -0
- package/dist-types/event-map/paste-handler.d.ts.map +1 -0
- package/dist-types/event-map/shift-handler.d.ts +2 -0
- package/dist-types/event-map/shift-handler.d.ts.map +1 -0
- package/dist-types/event-map/text-editor-lite.d.ts +2 -0
- package/dist-types/event-map/text-editor-lite.d.ts.map +1 -0
- package/dist-types/event-map/waypoint-handler.d.ts +2 -0
- package/dist-types/event-map/waypoint-handler.d.ts.map +1 -0
- package/dist-types/event-map/zoom-handler.d.ts +2 -0
- package/dist-types/event-map/zoom-handler.d.ts.map +1 -0
- package/dist-types/index.d.ts +6 -0
- package/dist-types/index.d.ts.map +1 -0
- package/dist-types/interfaces/animation.d.ts +40 -0
- package/dist-types/interfaces/animation.d.ts.map +1 -0
- package/dist-types/interfaces/data.d.ts +66 -0
- package/dist-types/interfaces/data.d.ts.map +1 -0
- package/dist-types/interfaces/index.d.ts +5 -0
- package/dist-types/interfaces/index.d.ts.map +1 -0
- package/dist-types/interfaces/layout.d.ts +23 -0
- package/dist-types/interfaces/layout.d.ts.map +1 -0
- package/dist-types/interfaces/model.d.ts +8 -0
- package/dist-types/interfaces/model.d.ts.map +1 -0
- package/dist-types/interfaces/providers.d.ts +57 -0
- package/dist-types/interfaces/providers.d.ts.map +1 -0
- package/dist-types/interfaces/real-object.d.ts +35 -0
- package/dist-types/interfaces/real-object.d.ts.map +1 -0
- package/dist-types/interfaces/rendering.d.ts +92 -0
- package/dist-types/interfaces/rendering.d.ts.map +1 -0
- package/dist-types/interfaces/types.d.ts +139 -0
- package/dist-types/interfaces/types.d.ts.map +1 -0
- package/dist-types/layer/action/emphasize.d.ts +3 -0
- package/dist-types/layer/action/emphasize.d.ts.map +1 -0
- package/dist-types/layer/action/popup.d.ts +19 -0
- package/dist-types/layer/action/popup.d.ts.map +1 -0
- package/dist-types/layer/action/pressed.d.ts +3 -0
- package/dist-types/layer/action/pressed.d.ts.map +1 -0
- package/dist-types/layer/add-layer.d.ts +40 -0
- package/dist-types/layer/add-layer.d.ts.map +1 -0
- package/dist-types/layer/dual-canvas-layer.d.ts +16 -0
- package/dist-types/layer/dual-canvas-layer.d.ts.map +1 -0
- package/dist-types/layer/guide-layer.d.ts +39 -0
- package/dist-types/layer/guide-layer.d.ts.map +1 -0
- package/dist-types/layer/index.d.ts +8 -0
- package/dist-types/layer/index.d.ts.map +1 -0
- package/dist-types/layer/layer.d.ts +42 -0
- package/dist-types/layer/layer.d.ts.map +1 -0
- package/dist-types/layer/minimap-layer.d.ts +22 -0
- package/dist-types/layer/minimap-layer.d.ts.map +1 -0
- package/dist-types/layer/model-layer.d.ts +183 -0
- package/dist-types/layer/model-layer.d.ts.map +1 -0
- package/dist-types/layer/modeler/anchor-handler.d.ts +19 -0
- package/dist-types/layer/modeler/anchor-handler.d.ts.map +1 -0
- package/dist-types/layer/modeler/control-handler.d.ts +15 -0
- package/dist-types/layer/modeler/control-handler.d.ts.map +1 -0
- package/dist-types/layer/modeler/focus-outline.d.ts +6 -0
- package/dist-types/layer/modeler/focus-outline.d.ts.map +1 -0
- package/dist-types/layer/modeler/group-outline.d.ts +9 -0
- package/dist-types/layer/modeler/group-outline.d.ts.map +1 -0
- package/dist-types/layer/modeler/index.d.ts +8 -0
- package/dist-types/layer/modeler/index.d.ts.map +1 -0
- package/dist-types/layer/modeler/path-handler.d.ts +17 -0
- package/dist-types/layer/modeler/path-handler.d.ts.map +1 -0
- package/dist-types/layer/modeler/resizer.d.ts +15 -0
- package/dist-types/layer/modeler/resizer.d.ts.map +1 -0
- package/dist-types/layer/modeler/rotator.d.ts +14 -0
- package/dist-types/layer/modeler/rotator.d.ts.map +1 -0
- package/dist-types/layer/modeling-layer.d.ts +75 -0
- package/dist-types/layer/modeling-layer.d.ts.map +1 -0
- package/dist-types/layer/scroll-layer.d.ts +27 -0
- package/dist-types/layer/scroll-layer.d.ts.map +1 -0
- package/dist-types/layer/selection/selected-finder.d.ts +2 -0
- package/dist-types/layer/selection/selected-finder.d.ts.map +1 -0
- package/dist-types/layer/selection-layer.d.ts +39 -0
- package/dist-types/layer/selection-layer.d.ts.map +1 -0
- package/dist-types/layer/shift-layer.d.ts +22 -0
- package/dist-types/layer/shift-layer.d.ts.map +1 -0
- package/dist-types/layout/absolute.d.ts +12 -0
- package/dist-types/layout/absolute.d.ts.map +1 -0
- package/dist-types/layout/card.d.ts +11 -0
- package/dist-types/layout/card.d.ts.map +1 -0
- package/dist-types/layout/html-absolute.d.ts +12 -0
- package/dist-types/layout/html-absolute.d.ts.map +1 -0
- package/dist-types/layout/index.d.ts +8 -0
- package/dist-types/layout/index.d.ts.map +1 -0
- package/dist-types/layout/layout.d.ts +15 -0
- package/dist-types/layout/layout.d.ts.map +1 -0
- package/dist-types/layout/linear-horizontal.d.ts +11 -0
- package/dist-types/layout/linear-horizontal.d.ts.map +1 -0
- package/dist-types/layout/linear-vertical.d.ts +11 -0
- package/dist-types/layout/linear-vertical.d.ts.map +1 -0
- package/dist-types/layout/table.d.ts +13 -0
- package/dist-types/layout/table.d.ts.map +1 -0
- package/dist-types/license/license.d.ts +21 -0
- package/dist-types/license/license.d.ts.map +1 -0
- package/dist-types/model/compile.d.ts +4 -0
- package/dist-types/model/compile.d.ts.map +1 -0
- package/dist-types/model/duplicate.d.ts +3 -0
- package/dist-types/model/duplicate.d.ts.map +1 -0
- package/dist-types/model/index.d.ts +4 -0
- package/dist-types/model/index.d.ts.map +1 -0
- package/dist-types/model/selector.d.ts +42 -0
- package/dist-types/model/selector.d.ts.map +1 -0
- package/dist-types/style/compile.d.ts +2 -0
- package/dist-types/style/compile.d.ts.map +1 -0
- package/dist-types/style/index.d.ts +2 -0
- package/dist-types/style/index.d.ts.map +1 -0
- package/dist-types/things-scene/api/add-start.d.ts +2 -0
- package/dist-types/things-scene/api/add-start.d.ts.map +1 -0
- package/dist-types/things-scene/api/add.d.ts +2 -0
- package/dist-types/things-scene/api/add.d.ts.map +1 -0
- package/dist-types/things-scene/api/align.d.ts +2 -0
- package/dist-types/things-scene/api/align.d.ts.map +1 -0
- package/dist-types/things-scene/api/center-to.d.ts +2 -0
- package/dist-types/things-scene/api/center-to.d.ts.map +1 -0
- package/dist-types/things-scene/api/change.d.ts +3 -0
- package/dist-types/things-scene/api/change.d.ts.map +1 -0
- package/dist-types/things-scene/api/clipboard.d.ts +4 -0
- package/dist-types/things-scene/api/clipboard.d.ts.map +1 -0
- package/dist-types/things-scene/api/distribute.d.ts +2 -0
- package/dist-types/things-scene/api/distribute.d.ts.map +1 -0
- package/dist-types/things-scene/api/duplicate.d.ts +2 -0
- package/dist-types/things-scene/api/duplicate.d.ts.map +1 -0
- package/dist-types/things-scene/api/fullscreen.d.ts +2 -0
- package/dist-types/things-scene/api/fullscreen.d.ts.map +1 -0
- package/dist-types/things-scene/api/group.d.ts +3 -0
- package/dist-types/things-scene/api/group.d.ts.map +1 -0
- package/dist-types/things-scene/api/ids.d.ts +2 -0
- package/dist-types/things-scene/api/ids.d.ts.map +1 -0
- package/dist-types/things-scene/api/index.d.ts +18 -0
- package/dist-types/things-scene/api/index.d.ts.map +1 -0
- package/dist-types/things-scene/api/listener.d.ts +4 -0
- package/dist-types/things-scene/api/listener.d.ts.map +1 -0
- package/dist-types/things-scene/api/paste-start.d.ts +5 -0
- package/dist-types/things-scene/api/paste-start.d.ts.map +1 -0
- package/dist-types/things-scene/api/place.d.ts +2 -0
- package/dist-types/things-scene/api/place.d.ts.map +1 -0
- package/dist-types/things-scene/api/remove.d.ts +2 -0
- package/dist-types/things-scene/api/remove.d.ts.map +1 -0
- package/dist-types/things-scene/api/symmetry.d.ts +3 -0
- package/dist-types/things-scene/api/symmetry.d.ts.map +1 -0
- package/dist-types/things-scene/api/to-data-url.d.ts +2 -0
- package/dist-types/things-scene/api/to-data-url.d.ts.map +1 -0
- package/dist-types/things-scene/api/zorder.d.ts +3 -0
- package/dist-types/things-scene/api/zorder.d.ts.map +1 -0
- package/dist-types/things-scene/application-context.d.ts +51 -0
- package/dist-types/things-scene/application-context.d.ts.map +1 -0
- package/dist-types/things-scene/config.d.ts +5 -0
- package/dist-types/things-scene/config.d.ts.map +1 -0
- package/dist-types/things-scene/create.d.ts +19 -0
- package/dist-types/things-scene/create.d.ts.map +1 -0
- package/dist-types/things-scene/fps.d.ts +7 -0
- package/dist-types/things-scene/fps.d.ts.map +1 -0
- package/dist-types/things-scene/index.d.ts +39 -0
- package/dist-types/things-scene/index.d.ts.map +1 -0
- package/dist-types/things-scene/polyfill.d.ts +3 -0
- package/dist-types/things-scene/polyfill.d.ts.map +1 -0
- package/dist-types/things-scene/scene.d.ts +98 -0
- package/dist-types/things-scene/scene.d.ts.map +1 -0
- package/dist-types/things-scene/version.d.ts +3 -0
- package/dist-types/things-scene/version.d.ts.map +1 -0
- package/dist-types/threed/arrow-3d.d.ts +54 -0
- package/dist-types/threed/arrow-3d.d.ts.map +1 -0
- package/dist-types/threed/common.d.ts +23 -0
- package/dist-types/threed/common.d.ts.map +1 -0
- package/dist-types/threed/factories/banner.d.ts +257 -0
- package/dist-types/threed/factories/banner.d.ts.map +1 -0
- package/dist-types/threed/factories/camera.d.ts +261 -0
- package/dist-types/threed/factories/camera.d.ts.map +1 -0
- package/dist-types/threed/factories/cube.d.ts +253 -0
- package/dist-types/threed/factories/cube.d.ts.map +1 -0
- package/dist-types/threed/factories/cylinder.d.ts +14 -0
- package/dist-types/threed/factories/cylinder.d.ts.map +1 -0
- package/dist-types/threed/factories/donut.d.ts +6 -0
- package/dist-types/threed/factories/donut.d.ts.map +1 -0
- package/dist-types/threed/factories/ellipse.d.ts +6 -0
- package/dist-types/threed/factories/ellipse.d.ts.map +1 -0
- package/dist-types/threed/factories/gltf-object.d.ts +271 -0
- package/dist-types/threed/factories/gltf-object.d.ts.map +1 -0
- package/dist-types/threed/factories/html-overlay.d.ts +2 -0
- package/dist-types/threed/factories/html-overlay.d.ts.map +1 -0
- package/dist-types/threed/factories/light.d.ts +18 -0
- package/dist-types/threed/factories/light.d.ts.map +1 -0
- package/dist-types/threed/factories/polygon.d.ts +18 -0
- package/dist-types/threed/factories/polygon.d.ts.map +1 -0
- package/dist-types/threed/factories/rect.d.ts +6 -0
- package/dist-types/threed/factories/rect.d.ts.map +1 -0
- package/dist-types/threed/factories/sphere.d.ts +14 -0
- package/dist-types/threed/factories/sphere.d.ts.map +1 -0
- package/dist-types/threed/factories/sprite.d.ts +249 -0
- package/dist-types/threed/factories/sprite.d.ts.map +1 -0
- package/dist-types/threed/factories/star.d.ts +6 -0
- package/dist-types/threed/factories/star.d.ts.map +1 -0
- package/dist-types/threed/factories/text.d.ts +2 -0
- package/dist-types/threed/factories/text.d.ts.map +1 -0
- package/dist-types/threed/factories/triangle.d.ts +6 -0
- package/dist-types/threed/factories/triangle.d.ts.map +1 -0
- package/dist-types/threed/factories/wall.d.ts +253 -0
- package/dist-types/threed/factories/wall.d.ts.map +1 -0
- package/dist-types/threed/floor/floor.d.ts +4 -0
- package/dist-types/threed/floor/floor.d.ts.map +1 -0
- package/dist-types/threed/gltf-specgloss-compat.d.ts +7 -0
- package/dist-types/threed/gltf-specgloss-compat.d.ts.map +1 -0
- package/dist-types/threed/html/elements.d.ts +3 -0
- package/dist-types/threed/html/elements.d.ts.map +1 -0
- package/dist-types/threed/index.d.ts +65 -0
- package/dist-types/threed/index.d.ts.map +1 -0
- package/dist-types/threed/interfaces.d.ts +17 -0
- package/dist-types/threed/interfaces.d.ts.map +1 -0
- package/dist-types/threed/managers/camera-manager.d.ts +30 -0
- package/dist-types/threed/managers/camera-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/controls-manager.d.ts +76 -0
- package/dist-types/threed/managers/controls-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/event-manager3d.d.ts +21 -0
- package/dist-types/threed/managers/event-manager3d.d.ts.map +1 -0
- package/dist-types/threed/managers/gizmo-manager.d.ts +45 -0
- package/dist-types/threed/managers/gizmo-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts +57 -0
- package/dist-types/threed/managers/gizmo-operation-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/index.d.ts +12 -0
- package/dist-types/threed/managers/index.d.ts.map +1 -0
- package/dist-types/threed/managers/interaction-manager.d.ts +100 -0
- package/dist-types/threed/managers/interaction-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/light-manager.d.ts +27 -0
- package/dist-types/threed/managers/light-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/placement-manager.d.ts +66 -0
- package/dist-types/threed/managers/placement-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/renderer-manager.d.ts +37 -0
- package/dist-types/threed/managers/renderer-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/scene-manager.d.ts +23 -0
- package/dist-types/threed/managers/scene-manager.d.ts.map +1 -0
- package/dist-types/threed/managers/types.d.ts +40 -0
- package/dist-types/threed/managers/types.d.ts.map +1 -0
- package/dist-types/threed/material-3d.d.ts +36 -0
- package/dist-types/threed/material-3d.d.ts.map +1 -0
- package/dist-types/threed/real-object-camera-meshed.d.ts +13 -0
- package/dist-types/threed/real-object-camera-meshed.d.ts.map +1 -0
- package/dist-types/threed/real-object-camera.d.ts +10 -0
- package/dist-types/threed/real-object-camera.d.ts.map +1 -0
- package/dist-types/threed/real-object-dom-element.d.ts +24 -0
- package/dist-types/threed/real-object-dom-element.d.ts.map +1 -0
- package/dist-types/threed/real-object-dom-texture.d.ts +21 -0
- package/dist-types/threed/real-object-dom-texture.d.ts.map +1 -0
- package/dist-types/threed/real-object-dummy.d.ts +7 -0
- package/dist-types/threed/real-object-dummy.d.ts.map +1 -0
- package/dist-types/threed/real-object-extrude.d.ts +32 -0
- package/dist-types/threed/real-object-extrude.d.ts.map +1 -0
- package/dist-types/threed/real-object-gltf.d.ts +53 -0
- package/dist-types/threed/real-object-gltf.d.ts.map +1 -0
- package/dist-types/threed/real-object-group.d.ts +6 -0
- package/dist-types/threed/real-object-group.d.ts.map +1 -0
- package/dist-types/threed/real-object-mesh.d.ts +16 -0
- package/dist-types/threed/real-object-mesh.d.ts.map +1 -0
- package/dist-types/threed/real-object-plane-2d.d.ts +18 -0
- package/dist-types/threed/real-object-plane-2d.d.ts.map +1 -0
- package/dist-types/threed/real-object-plane.d.ts +6 -0
- package/dist-types/threed/real-object-plane.d.ts.map +1 -0
- package/dist-types/threed/real-object-registry.d.ts +8 -0
- package/dist-types/threed/real-object-registry.d.ts.map +1 -0
- package/dist-types/threed/real-object-scene.d.ts +21 -0
- package/dist-types/threed/real-object-scene.d.ts.map +1 -0
- package/dist-types/threed/real-object-sprite-2d.d.ts +15 -0
- package/dist-types/threed/real-object-sprite-2d.d.ts.map +1 -0
- package/dist-types/threed/real-object-sprite.d.ts +12 -0
- package/dist-types/threed/real-object-sprite.d.ts.map +1 -0
- package/dist-types/threed/real-object-text.d.ts +13 -0
- package/dist-types/threed/real-object-text.d.ts.map +1 -0
- package/dist-types/threed/real-object.d.ts +100 -0
- package/dist-types/threed/real-object.d.ts.map +1 -0
- package/dist-types/threed/texture/canvas-texture.d.ts +5 -0
- package/dist-types/threed/texture/canvas-texture.d.ts.map +1 -0
- package/dist-types/threed/texture/text-texture.d.ts +9 -0
- package/dist-types/threed/texture/text-texture.d.ts.map +1 -0
- package/dist-types/threed/three-capability.d.ts +325 -0
- package/dist-types/threed/three-capability.d.ts.map +1 -0
- package/dist-types/threed/three-container.d.ts +58 -0
- package/dist-types/threed/three-container.d.ts.map +1 -0
- package/dist-types/threed/three-dimensional-container.d.ts +9 -0
- package/dist-types/threed/three-dimensional-container.d.ts.map +1 -0
- package/dist-types/threed/three-layout.d.ts +10 -0
- package/dist-types/threed/three-layout.d.ts.map +1 -0
- package/dist-types/threed/utils/bound-uv-generator.d.ts +17 -0
- package/dist-types/threed/utils/bound-uv-generator.d.ts.map +1 -0
- package/dist-types/threed/utils/dispose.d.ts +3 -0
- package/dist-types/threed/utils/dispose.d.ts.map +1 -0
- package/dist-types/threed/utils/project.d.ts +11 -0
- package/dist-types/threed/utils/project.d.ts.map +1 -0
- package/dist-types/types/bounding.d.ts +52 -0
- package/dist-types/types/bounding.d.ts.map +1 -0
- package/dist-types/types/component.d.ts +178 -0
- package/dist-types/types/component.d.ts.map +1 -0
- package/dist-types/types/event.d.ts +9 -0
- package/dist-types/types/event.d.ts.map +1 -0
- package/dist-types/types/index.d.ts +7 -0
- package/dist-types/types/index.d.ts.map +1 -0
- package/dist-types/types/layer.d.ts +80 -0
- package/dist-types/types/layer.d.ts.map +1 -0
- package/dist-types/types/scene-component.d.ts +28 -0
- package/dist-types/types/scene-component.d.ts.map +1 -0
- package/dist-types/types/scene.d.ts +18 -0
- package/dist-types/types/scene.d.ts.map +1 -0
- package/package.json +53 -67
- package/things-scene-min.js +27 -27
- package/things-scene-min.js.map +1 -1
- package/things-scene.mjs +9 -31
- package/things-scene.mjs.map +1 -1
- package/CHANGELOG.md +0 -2115
- package/EULA.md +0 -67
- package/monitor-extension/background.js +0 -21
- package/monitor-extension/content.js +0 -71
- package/monitor-extension/devtools.html +0 -68
- package/monitor-extension/devtools.js +0 -143
- package/monitor-extension/icons/icon128.png +0 -0
- package/monitor-extension/icons/icon16.png +0 -0
- package/monitor-extension/icons/icon48.png +0 -0
- package/monitor-extension/injected.js +0 -25
- package/monitor-extension/libs/Chart.min.js +0 -10129
- package/monitor-extension/manifest.json +0 -34
- package/monitor-extension/popup.html +0 -68
- package/monitor-extension/popup.js +0 -142
- package/things-scene.d.ts +0 -799
package/things-scene-min.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).scene={})}(this,function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},r=function(t){return t&&t.Math===Math&&t},n=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||r("object"==typeof e&&e)||function(){return this}()||Function("return this")(),i={},o=function(t){try{return!!t()}catch(t){return!0}},a=!o(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}),s=!o(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}),c=s,l=Function.prototype.call,u=c?l.bind(l):function(){return l.apply(l,arguments)},h={},f={}.propertyIsEnumerable,d=Object.getOwnPropertyDescriptor,p=d&&!f.call({1:2},1);h.f=p?function(t){var e=d(this,t);return!!e&&e.enumerable}:f;var g,v,y=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},m=s,b=Function.prototype,x=b.call,w=m&&b.bind.bind(x,x),A=m?w:function(t){return function(){return x.apply(t,arguments)}},_=A,E=_({}.toString),S=_("".slice),k=function(t){return S(E(t),8,-1)},M=o,O=k,T=Object,P=A("".split),I=M(function(){return!T("z").propertyIsEnumerable(0)})?function(t){return"String"===O(t)?P(t,""):T(t)}:T,C=function(t){return null==t},R=C,D=TypeError,L=function(t){if(R(t))throw new D("Can't call method on "+t);return t},j=I,N=L,F=function(t){return j(N(t))},z="object"==typeof document&&document.all,U=void 0===z&&void 0!==z?function(t){return"function"==typeof t||t===z}:function(t){return"function"==typeof t},B=U,$=function(t){return"object"==typeof t?null!==t:B(t)},Y=n,G=U,H=function(t,e){return arguments.length<2?(r=Y[t],G(r)?r:void 0):Y[t]&&Y[t][e];var r},W=A({}.isPrototypeOf),q=n.navigator,V=q&&q.userAgent,X=V?String(V):"",K=n,Q=X,J=K.process,Z=K.Deno,tt=J&&J.versions||Z&&Z.version,et=tt&&tt.v8;et&&(v=(g=et.split("."))[0]>0&&g[0]<4?1:+(g[0]+g[1])),!v&&Q&&(!(g=Q.match(/Edge\/(\d+)/))||g[1]>=74)&&(g=Q.match(/Chrome\/(\d+)/))&&(v=+g[1]);var rt=v,nt=rt,it=o,ot=n.String,at=!!Object.getOwnPropertySymbols&&!it(function(){var t=Symbol("symbol detection");return!ot(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&nt&&nt<41}),st=at&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,ct=H,lt=U,ut=W,ht=Object,ft=st?function(t){return"symbol"==typeof t}:function(t){var e=ct("Symbol");return lt(e)&&ut(e.prototype,ht(t))},dt=String,pt=function(t){try{return dt(t)}catch(t){return"Object"}},gt=U,vt=pt,yt=TypeError,mt=function(t){if(gt(t))return t;throw new yt(vt(t)+" is not a function")},bt=mt,xt=C,wt=function(t,e){var r=t[e];return xt(r)?void 0:bt(r)},At=u,_t=U,Et=$,St=TypeError,kt=function(t,e){var r,n;if("string"===e&&_t(r=t.toString)&&!Et(n=At(r,t)))return n;if(_t(r=t.valueOf)&&!Et(n=At(r,t)))return n;if("string"!==e&&_t(r=t.toString)&&!Et(n=At(r,t)))return n;throw new St("Can't convert object to primitive value")},Mt={exports:{}},Ot=n,Tt=Object.defineProperty,Pt=function(t,e){try{Tt(Ot,t,{value:e,configurable:!0,writable:!0})}catch(r){Ot[t]=e}return e},It=n,Ct=Pt,Rt="__core-js_shared__",Dt=Mt.exports=It[Rt]||Ct(Rt,{});(Dt.versions||(Dt.versions=[])).push({version:"3.47.0",mode:"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru), 2025 CoreJS Company (core-js.io)",license:"https://github.com/zloirock/core-js/blob/v3.47.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Lt=Mt.exports,jt=function(t,e){return Lt[t]||(Lt[t]=e||{})},Nt=L,Ft=Object,zt=function(t){return Ft(Nt(t))},Ut=zt,Bt=A({}.hasOwnProperty),$t=Object.hasOwn||function(t,e){return Bt(Ut(t),e)},Yt=A,Gt=0,Ht=Math.random(),Wt=Yt(1.1.toString),qt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+Wt(++Gt+Ht,36)},Vt=jt,Xt=$t,Kt=qt,Qt=at,Jt=st,Zt=n.Symbol,te=Vt("wks"),ee=Jt?Zt.for||Zt:Zt&&Zt.withoutSetter||Kt,re=function(t){return Xt(te,t)||(te[t]=Qt&&Xt(Zt,t)?Zt[t]:ee("Symbol."+t)),te[t]},ne=u,ie=$,oe=ft,ae=wt,se=kt,ce=TypeError,le=re("toPrimitive"),ue=function(t,e){if(!ie(t)||oe(t))return t;var r,n=ae(t,le);if(n){if(void 0===e&&(e="default"),r=ne(n,t,e),!ie(r)||oe(r))return r;throw new ce("Can't convert object to primitive value")}return void 0===e&&(e="number"),se(t,e)},he=ue,fe=ft,de=function(t){var e=he(t,"string");return fe(e)?e:e+""},pe=$,ge=n.document,ve=pe(ge)&&pe(ge.createElement),ye=function(t){return ve?ge.createElement(t):{}},me=ye,be=!a&&!o(function(){return 7!==Object.defineProperty(me("div"),"a",{get:function(){return 7}}).a}),xe=a,we=u,Ae=h,_e=y,Ee=F,Se=de,ke=$t,Me=be,Oe=Object.getOwnPropertyDescriptor;i.f=xe?Oe:function(t,e){if(t=Ee(t),e=Se(e),Me)try{return Oe(t,e)}catch(t){}if(ke(t,e))return _e(!we(Ae.f,t,e),t[e])};var Te={},Pe=a&&o(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype}),Ie=$,Ce=String,Re=TypeError,De=function(t){if(Ie(t))return t;throw new Re(Ce(t)+" is not an object")},Le=a,je=be,Ne=Pe,Fe=De,ze=de,Ue=TypeError,Be=Object.defineProperty,$e=Object.getOwnPropertyDescriptor,Ye="enumerable",Ge="configurable",He="writable";Te.f=Le?Ne?function(t,e,r){if(Fe(t),e=ze(e),Fe(r),"function"==typeof t&&"prototype"===e&&"value"in r&&He in r&&!r[He]){var n=$e(t,e);n&&n[He]&&(t[e]=r.value,r={configurable:Ge in r?r[Ge]:n[Ge],enumerable:Ye in r?r[Ye]:n[Ye],writable:!1})}return Be(t,e,r)}:Be:function(t,e,r){if(Fe(t),e=ze(e),Fe(r),je)try{return Be(t,e,r)}catch(t){}if("get"in r||"set"in r)throw new Ue("Accessors not supported");return"value"in r&&(t[e]=r.value),t};var We=Te,qe=y,Ve=a?function(t,e,r){return We.f(t,e,qe(1,r))}:function(t,e,r){return t[e]=r,t},Xe={exports:{}},Ke=a,Qe=$t,Je=Function.prototype,Ze=Ke&&Object.getOwnPropertyDescriptor,tr=Qe(Je,"name"),er={EXISTS:tr,PROPER:tr&&"something"===function(){}.name,CONFIGURABLE:tr&&(!Ke||Ke&&Ze(Je,"name").configurable)},rr=A,nr=U,ir=Mt.exports,or=rr(Function.toString);nr(ir.inspectSource)||(ir.inspectSource=function(t){return or(t)});var ar,sr,cr,lr=ir.inspectSource,ur=U,hr=n.WeakMap,fr=ur(hr)&&/native code/.test(String(hr)),dr=qt,pr=jt("keys"),gr=function(t){return pr[t]||(pr[t]=dr(t))},vr={},yr=fr,mr=n,br=$,xr=Ve,wr=$t,Ar=Mt.exports,_r=gr,Er=vr,Sr="Object already initialized",kr=mr.TypeError,Mr=mr.WeakMap;if(yr||Ar.state){var Or=Ar.state||(Ar.state=new Mr);Or.get=Or.get,Or.has=Or.has,Or.set=Or.set,ar=function(t,e){if(Or.has(t))throw new kr(Sr);return e.facade=t,Or.set(t,e),e},sr=function(t){return Or.get(t)||{}},cr=function(t){return Or.has(t)}}else{var Tr=_r("state");Er[Tr]=!0,ar=function(t,e){if(wr(t,Tr))throw new kr(Sr);return e.facade=t,xr(t,Tr,e),e},sr=function(t){return wr(t,Tr)?t[Tr]:{}},cr=function(t){return wr(t,Tr)}}var Pr={set:ar,get:sr,has:cr,enforce:function(t){return cr(t)?sr(t):ar(t,{})},getterFor:function(t){return function(e){var r;if(!br(e)||(r=sr(e)).type!==t)throw new kr("Incompatible receiver, "+t+" required");return r}}},Ir=A,Cr=o,Rr=U,Dr=$t,Lr=a,jr=er.CONFIGURABLE,Nr=lr,Fr=Pr.enforce,zr=Pr.get,Ur=String,Br=Object.defineProperty,$r=Ir("".slice),Yr=Ir("".replace),Gr=Ir([].join),Hr=Lr&&!Cr(function(){return 8!==Br(function(){},"length",{value:8}).length}),Wr=String(String).split("String"),qr=Xe.exports=function(t,e,r){"Symbol("===$r(Ur(e),0,7)&&(e="["+Yr(Ur(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!Dr(t,"name")||jr&&t.name!==e)&&(Lr?Br(t,"name",{value:e,configurable:!0}):t.name=e),Hr&&r&&Dr(r,"arity")&&t.length!==r.arity&&Br(t,"length",{value:r.arity});try{r&&Dr(r,"constructor")&&r.constructor?Lr&&Br(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=Fr(t);return Dr(n,"source")||(n.source=Gr(Wr,"string"==typeof e?e:"")),t};Function.prototype.toString=qr(function(){return Rr(this)&&zr(this).source||Nr(this)},"toString");var Vr=U,Xr=Te,Kr=Xe.exports,Qr=Pt,Jr=function(t,e,r,n){n||(n={});var i=n.enumerable,o=void 0!==n.name?n.name:e;if(Vr(r)&&Kr(r,o,n),n.global)i?t[e]=r:Qr(e,r);else{try{n.unsafe?t[e]&&(i=!0):delete t[e]}catch(t){}i?t[e]=r:Xr.f(t,e,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return t},Zr={},tn=Math.ceil,en=Math.floor,rn=Math.trunc||function(t){var e=+t;return(e>0?en:tn)(e)},nn=rn,on=function(t){var e=+t;return e!=e||0===e?0:nn(e)},an=on,sn=Math.max,cn=Math.min,ln=function(t,e){var r=an(t);return r<0?sn(r+e,0):cn(r,e)},un=on,hn=Math.min,fn=function(t){var e=un(t);return e>0?hn(e,9007199254740991):0},dn=fn,pn=function(t){return dn(t.length)},gn=F,vn=ln,yn=pn,mn=function(t){return function(e,r,n){var i=gn(e),o=yn(i);if(0===o)return!t&&-1;var a,s=vn(n,o);if(t&&r!=r){for(;o>s;)if((a=i[s++])!=a)return!0}else for(;o>s;s++)if((t||s in i)&&i[s]===r)return t||s||0;return!t&&-1}},bn={includes:mn(!0),indexOf:mn(!1)},xn=$t,wn=F,An=bn.indexOf,_n=vr,En=A([].push),Sn=function(t,e){var r,n=wn(t),i=0,o=[];for(r in n)!xn(_n,r)&&xn(n,r)&&En(o,r);for(;e.length>i;)xn(n,r=e[i++])&&(~An(o,r)||En(o,r));return o},kn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Mn=Sn,On=kn.concat("length","prototype");Zr.f=Object.getOwnPropertyNames||function(t){return Mn(t,On)};var Tn={};Tn.f=Object.getOwnPropertySymbols;var Pn=H,In=Zr,Cn=Tn,Rn=De,Dn=A([].concat),Ln=Pn("Reflect","ownKeys")||function(t){var e=In.f(Rn(t)),r=Cn.f;return r?Dn(e,r(t)):e},jn=$t,Nn=Ln,Fn=i,zn=Te,Un=function(t,e,r){for(var n=Nn(e),i=zn.f,o=Fn.f,a=0;a<n.length;a++){var s=n[a];jn(t,s)||r&&jn(r,s)||i(t,s,o(e,s))}},Bn=o,$n=U,Yn=/#|\.prototype\./,Gn=function(t,e){var r=Wn[Hn(t)];return r===Vn||r!==qn&&($n(e)?Bn(e):!!e)},Hn=Gn.normalize=function(t){return String(t).replace(Yn,".").toLowerCase()},Wn=Gn.data={},qn=Gn.NATIVE="N",Vn=Gn.POLYFILL="P",Xn=Gn,Kn=n,Qn=i.f,Jn=Ve,Zn=Jr,ti=Pt,ei=Un,ri=Xn,ni=function(t,e){var r,n,i,o,a,s=t.target,c=t.global,l=t.stat;if(r=c?Kn:l?Kn[s]||ti(s,{}):Kn[s]&&Kn[s].prototype)for(n in e){if(o=e[n],i=t.dontCallGetSet?(a=Qn(r,n))&&a.value:r[n],!ri(c?n:s+(l?".":"#")+n,t.forced)&&void 0!==i){if(typeof o==typeof i)continue;ei(o,i)}(t.sham||i&&i.sham)&&Jn(o,"sham",!0),Zn(r,n,o,t)}},ii={};ii[re("toStringTag")]="z";var oi="[object z]"===String(ii),ai=oi,si=U,ci=k,li=re("toStringTag"),ui=Object,hi="Arguments"===ci(function(){return arguments}()),fi=ai?ci:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=ui(t),li))?r:hi?ci(e):"Object"===(n=ci(e))&&si(e.callee)?"Arguments":n},di=fi,pi=String,gi=function(t){if("Symbol"===di(t))throw new TypeError("Cannot convert a Symbol value to a string");return pi(t)},vi={},yi=Sn,mi=kn,bi=Object.keys||function(t){return yi(t,mi)},xi=a,wi=Pe,Ai=Te,_i=De,Ei=F,Si=bi;vi.f=xi&&!wi?Object.defineProperties:function(t,e){_i(t);for(var r,n=Ei(e),i=Si(e),o=i.length,a=0;o>a;)Ai.f(t,r=i[a++],n[r]);return t};var ki,Mi=H("document","documentElement"),Oi=De,Ti=vi,Pi=kn,Ii=vr,Ci=Mi,Ri=ye,Di="prototype",Li="script",ji=gr("IE_PROTO"),Ni=function(){},Fi=function(t){return"<"+Li+">"+t+"</"+Li+">"},zi=function(t){t.write(Fi("")),t.close();var e=t.parentWindow.Object;return t=null,e},Ui=function(){try{ki=new ActiveXObject("htmlfile")}catch(t){}var t,e,r;Ui="undefined"!=typeof document?document.domain&&ki?zi(ki):(e=Ri("iframe"),r="java"+Li+":",e.style.display="none",Ci.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(Fi("document.F=Object")),t.close(),t.F):zi(ki);for(var n=Pi.length;n--;)delete Ui[Di][Pi[n]];return Ui()};Ii[ji]=!0;var Bi=Object.create||function(t,e){var r;return null!==t?(Ni[Di]=Oi(t),r=new Ni,Ni[Di]=null,r[ji]=t):r=Ui(),void 0===e?r:Ti.f(r,e)},$i={},Yi=A([].slice),Gi=k,Hi=F,Wi=Zr.f,qi=Yi,Vi="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];$i.f=function(t){return Vi&&"Window"===Gi(t)?function(t){try{return Wi(t)}catch(t){return qi(Vi)}}(t):Wi(Hi(t))};var Xi=Xe.exports,Ki=Te,Qi=function(t,e,r){return r.get&&Xi(r.get,e,{getter:!0}),r.set&&Xi(r.set,e,{setter:!0}),Ki.f(t,e,r)},Ji={},Zi=re;Ji.f=Zi;var to=n,eo=to,ro=$t,no=Ji,io=Te.f,oo=function(t){var e=eo.Symbol||(eo.Symbol={});ro(e,t)||io(e,t,{value:no.f(t)})},ao=u,so=H,co=re,lo=Jr,uo=function(){var t=so("Symbol"),e=t&&t.prototype,r=e&&e.valueOf,n=co("toPrimitive");e&&!e[n]&&lo(e,n,function(t){return ao(r,this)},{arity:1})},ho=Te.f,fo=$t,po=re("toStringTag"),go=function(t,e,r){t&&!r&&(t=t.prototype),t&&!fo(t,po)&&ho(t,po,{configurable:!0,value:e})},vo=k,yo=A,mo=function(t){if("Function"===vo(t))return yo(t)},bo=mt,xo=s,wo=mo(mo.bind),Ao=function(t,e){return bo(t),void 0===e?t:xo?wo(t,e):function(){return t.apply(e,arguments)}},_o=k,Eo=Array.isArray||function(t){return"Array"===_o(t)},So=A,ko=o,Mo=U,Oo=fi,To=lr,Po=function(){},Io=H("Reflect","construct"),Co=/^\s*(?:class|function)\b/,Ro=So(Co.exec),Do=!Co.test(Po),Lo=function(t){if(!Mo(t))return!1;try{return Io(Po,[],t),!0}catch(t){return!1}},jo=function(t){if(!Mo(t))return!1;switch(Oo(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Do||!!Ro(Co,To(t))}catch(t){return!0}};jo.sham=!0;var No=!Io||ko(function(){var t;return Lo(Lo.call)||!Lo(Object)||!Lo(function(){t=!0})||t})?jo:Lo,Fo=Eo,zo=No,Uo=$,Bo=re("species"),$o=Array,Yo=function(t){var e;return Fo(t)&&(e=t.constructor,(zo(e)&&(e===$o||Fo(e.prototype))||Uo(e)&&null===(e=e[Bo]))&&(e=void 0)),void 0===e?$o:e},Go=function(t,e){return new(Yo(t))(0===e?0:e)},Ho=Ao,Wo=I,qo=zt,Vo=pn,Xo=Go,Ko=A([].push),Qo=function(t){var e=1===t,r=2===t,n=3===t,i=4===t,o=6===t,a=7===t,s=5===t||o;return function(c,l,u,h){for(var f,d,p=qo(c),g=Wo(p),v=Vo(g),y=Ho(l,u),m=0,b=h||Xo,x=e?b(c,v):r||a?b(c,0):void 0;v>m;m++)if((s||m in g)&&(d=y(f=g[m],m,p),t))if(e)x[m]=d;else if(d)switch(t){case 3:return!0;case 5:return f;case 6:return m;case 2:Ko(x,f)}else switch(t){case 4:return!1;case 7:Ko(x,f)}return o?-1:n||i?i:x}},Jo={forEach:Qo(0),map:Qo(1),filter:Qo(2),some:Qo(3),every:Qo(4),find:Qo(5),findIndex:Qo(6),filterReject:Qo(7)},Zo=ni,ta=n,ea=u,ra=A,na=a,ia=at,oa=o,aa=$t,sa=W,ca=De,la=F,ua=de,ha=gi,fa=y,da=Bi,pa=bi,ga=Zr,va=$i,ya=Tn,ma=i,ba=Te,xa=vi,wa=h,Aa=Jr,_a=Qi,Ea=jt,Sa=vr,ka=qt,Ma=re,Oa=Ji,Ta=oo,Pa=uo,Ia=go,Ca=Pr,Ra=Jo.forEach,Da=gr("hidden"),La="Symbol",ja="prototype",Na=Ca.set,Fa=Ca.getterFor(La),za=Object[ja],Ua=ta.Symbol,Ba=Ua&&Ua[ja],$a=ta.RangeError,Ya=ta.TypeError,Ga=ta.QObject,Ha=ma.f,Wa=ba.f,qa=va.f,Va=wa.f,Xa=ra([].push),Ka=Ea("symbols"),Qa=Ea("op-symbols"),Ja=Ea("wks"),Za=!Ga||!Ga[ja]||!Ga[ja].findChild,ts=function(t,e,r){var n=Ha(za,e);n&&delete za[e],Wa(t,e,r),n&&t!==za&&Wa(za,e,n)},es=na&&oa(function(){return 7!==da(Wa({},"a",{get:function(){return Wa(this,"a",{value:7}).a}})).a})?ts:Wa,rs=function(t,e){var r=Ka[t]=da(Ba);return Na(r,{type:La,tag:t,description:e}),na||(r.description=e),r},ns=function(t,e,r){t===za&&ns(Qa,e,r),ca(t);var n=ua(e);return ca(r),aa(Ka,n)?(r.enumerable?(aa(t,Da)&&t[Da][n]&&(t[Da][n]=!1),r=da(r,{enumerable:fa(0,!1)})):(aa(t,Da)||Wa(t,Da,fa(1,da(null))),t[Da][n]=!0),es(t,n,r)):Wa(t,n,r)},is=function(t,e){ca(t);var r=la(e),n=pa(r).concat(cs(r));return Ra(n,function(e){na&&!ea(os,r,e)||ns(t,e,r[e])}),t},os=function(t){var e=ua(t),r=ea(Va,this,e);return!(this===za&&aa(Ka,e)&&!aa(Qa,e))&&(!(r||!aa(this,e)||!aa(Ka,e)||aa(this,Da)&&this[Da][e])||r)},as=function(t,e){var r=la(t),n=ua(e);if(r!==za||!aa(Ka,n)||aa(Qa,n)){var i=Ha(r,n);return!i||!aa(Ka,n)||aa(r,Da)&&r[Da][n]||(i.enumerable=!0),i}},ss=function(t){var e=qa(la(t)),r=[];return Ra(e,function(t){aa(Ka,t)||aa(Sa,t)||Xa(r,t)}),r},cs=function(t){var e=t===za,r=qa(e?Qa:la(t)),n=[];return Ra(r,function(t){!aa(Ka,t)||e&&!aa(za,t)||Xa(n,Ka[t])}),n};ia||(Ua=function(){if(sa(Ba,this))throw new Ya("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?ha(arguments[0]):void 0,e=ka(t),r=function(t){var n=void 0===this?ta:this;n===za&&ea(r,Qa,t),aa(n,Da)&&aa(n[Da],e)&&(n[Da][e]=!1);var i=fa(1,t);try{es(n,e,i)}catch(t){if(!(t instanceof $a))throw t;ts(n,e,i)}};return na&&Za&&es(za,e,{configurable:!0,set:r}),rs(e,t)},Aa(Ba=Ua[ja],"toString",function(){return Fa(this).tag}),Aa(Ua,"withoutSetter",function(t){return rs(ka(t),t)}),wa.f=os,ba.f=ns,xa.f=is,ma.f=as,ga.f=va.f=ss,ya.f=cs,Oa.f=function(t){return rs(Ma(t),t)},na&&(_a(Ba,"description",{configurable:!0,get:function(){return Fa(this).description}}),Aa(za,"propertyIsEnumerable",os,{unsafe:!0}))),Zo({global:!0,constructor:!0,wrap:!0,forced:!ia,sham:!ia},{Symbol:Ua}),Ra(pa(Ja),function(t){Ta(t)}),Zo({target:La,stat:!0,forced:!ia},{useSetter:function(){Za=!0},useSimple:function(){Za=!1}}),Zo({target:"Object",stat:!0,forced:!ia,sham:!na},{create:function(t,e){return void 0===e?da(t):is(da(t),e)},defineProperty:ns,defineProperties:is,getOwnPropertyDescriptor:as}),Zo({target:"Object",stat:!0,forced:!ia},{getOwnPropertyNames:ss}),Pa(),Ia(Ua,La),Sa[Da]=!0;var ls=at&&!!Symbol.for&&!!Symbol.keyFor,us=ni,hs=H,fs=$t,ds=gi,ps=jt,gs=ls,vs=ps("string-to-symbol-registry"),ys=ps("symbol-to-string-registry");us({target:"Symbol",stat:!0,forced:!gs},{for:function(t){var e=ds(t);if(fs(vs,e))return vs[e];var r=hs("Symbol")(e);return vs[e]=r,ys[r]=e,r}});var ms=ni,bs=$t,xs=ft,ws=pt,As=ls,_s=jt("symbol-to-string-registry");ms({target:"Symbol",stat:!0,forced:!As},{keyFor:function(t){if(!xs(t))throw new TypeError(ws(t)+" is not a symbol");if(bs(_s,t))return _s[t]}});var Es=s,Ss=Function.prototype,ks=Ss.apply,Ms=Ss.call,Os="object"==typeof Reflect&&Reflect.apply||(Es?Ms.bind(ks):function(){return Ms.apply(ks,arguments)}),Ts=$,Ps=Pr.get,Is=function(t){if(!Ts(t))return!1;var e=Ps(t);return!!e&&"RawJSON"===e.type},Cs=A,Rs=$t,Ds=SyntaxError,Ls=parseInt,js=String.fromCharCode,Ns=Cs("".charAt),Fs=Cs("".slice),zs=Cs(/./.exec),Us={'\\"':'"',"\\\\":"\\","\\/":"/","\\b":"\b","\\f":"\f","\\n":"\n","\\r":"\r","\\t":"\t"},Bs=/^[\da-f]{4}$/i,$s=/^[\u0000-\u001F]$/,Ys=function(t,e){for(var r=!0,n="";e<t.length;){var i=Ns(t,e);if("\\"===i){var o=Fs(t,e,e+2);if(Rs(Us,o))n+=Us[o],e+=2;else{if("\\u"!==o)throw new Ds('Unknown escape sequence: "'+o+'"');var a=Fs(t,e+=2,e+4);if(!zs(Bs,a))throw new Ds("Bad Unicode escape at: "+e);n+=js(Ls(a,16)),e+=4}}else{if('"'===i){r=!1,e++;break}if(zs($s,i))throw new Ds("Bad control character in string literal at: "+e);n+=i,e++}}if(r)throw new Ds("Unterminated string at: "+e);return{value:n,end:e}},Gs=!o(function(){var t="9007199254740993",e=JSON.rawJSON(t);return!JSON.isRawJSON(e)||JSON.stringify(e)!==t}),Hs=ni,Ws=H,qs=Os,Vs=u,Xs=A,Ks=o,Qs=Eo,Js=U,Zs=Is,tc=ft,ec=k,rc=gi,nc=Yi,ic=Ys,oc=qt,ac=at,sc=Gs,cc=String,lc=Ws("JSON","stringify"),uc=Xs(/./.exec),hc=Xs("".charAt),fc=Xs("".charCodeAt),dc=Xs("".replace),pc=Xs("".slice),gc=Xs([].push),vc=Xs(1.1.toString),yc=/[\uD800-\uDFFF]/g,mc=/^[\uD800-\uDBFF]$/,bc=/^[\uDC00-\uDFFF]$/,xc=oc(),wc=xc.length,Ac=!ac||Ks(function(){var t=Ws("Symbol")("stringify detection");return"[null]"!==lc([t])||"{}"!==lc({a:t})||"{}"!==lc(Object(t))}),_c=Ks(function(){return'"\\udf06\\ud834"'!==lc("\udf06\ud834")||'"\\udead"'!==lc("\udead")}),Ec=Ac?function(t,e){var r=nc(arguments),n=kc(e);if(Js(n)||void 0!==t&&!tc(t))return r[1]=function(t,e){if(Js(n)&&(e=Vs(n,this,cc(t),e)),!tc(e))return e},qs(lc,null,r)}:lc,Sc=function(t,e,r){var n=hc(r,e-1),i=hc(r,e+1);return uc(mc,t)&&!uc(bc,i)||uc(bc,t)&&!uc(mc,n)?"\\u"+vc(fc(t,0),16):t},kc=function(t){if(Js(t))return t;if(Qs(t)){for(var e=t.length,r=[],n=0;n<e;n++){var i=t[n];"string"==typeof i?gc(r,i):"number"!=typeof i&&"Number"!==ec(i)&&"String"!==ec(i)||gc(r,rc(i))}var o=r.length,a=!0;return function(t,e){if(a)return a=!1,e;if(Qs(this))return e;for(var n=0;n<o;n++)if(r[n]===t)return e}}};lc&&Hs({target:"JSON",stat:!0,arity:3,forced:Ac||_c||!sc},{stringify:function(t,e,r){var n=kc(e),i=[],o=Ec(t,function(t,e){var r=Js(n)?Vs(n,this,cc(t),e):e;return!sc&&Zs(r)?xc+(gc(i,r.rawJSON)-1):r},r);if("string"!=typeof o)return o;if(_c&&(o=dc(o,yc,Sc)),sc)return o;for(var a="",s=o.length,c=0;c<s;c++){var l=hc(o,c);if('"'===l){var u=ic(o,++c).end-1,h=pc(o,c,u);a+=pc(h,0,wc)===xc?i[pc(h,wc)]:'"'+h+'"',c=u}else a+=l}return a}});var Mc=Tn,Oc=zt;ni({target:"Object",stat:!0,forced:!at||o(function(){Mc.f(1)})},{getOwnPropertySymbols:function(t){var e=Mc.f;return e?e(Oc(t)):[]}});var Tc=ni,Pc=a,Ic=A,Cc=$t,Rc=U,Dc=W,Lc=gi,jc=Qi,Nc=Un,Fc=n.Symbol,zc=Fc&&Fc.prototype;if(Pc&&Rc(Fc)&&(!("description"in zc)||void 0!==Fc().description)){var Uc={},Bc=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:Lc(arguments[0]),e=Dc(zc,this)?new Fc(t):void 0===t?Fc():Fc(t);return""===t&&(Uc[e]=!0),e};Nc(Bc,Fc),Bc.prototype=zc,zc.constructor=Bc;var $c="Symbol(description detection)"===String(Fc("description detection")),Yc=Ic(zc.valueOf),Gc=Ic(zc.toString),Hc=/^Symbol\((.*)\)[^)]+$/,Wc=Ic("".replace),qc=Ic("".slice);jc(zc,"description",{configurable:!0,get:function(){var t=Yc(this);if(Cc(Uc,t))return"";var e=Gc(t),r=$c?qc(e,7,-1):Wc(e,Hc,"$1");return""===r?void 0:r}}),Tc({global:!0,constructor:!0,forced:!0},{Symbol:Bc})}var Vc=n,Xc=oo,Kc=Te.f,Qc=i.f,Jc=Vc.Symbol;if(Xc("asyncDispose"),Jc){var Zc=Qc(Jc,"asyncDispose");Zc.enumerable&&Zc.configurable&&Zc.writable&&Kc(Jc,"asyncDispose",{value:Zc.value,enumerable:!1,configurable:!1,writable:!1})}oo("asyncIterator");var tl=n,el=oo,rl=Te.f,nl=i.f,il=tl.Symbol;if(el("dispose"),il){var ol=nl(il,"dispose");ol.enumerable&&ol.configurable&&ol.writable&&rl(il,"dispose",{value:ol.value,enumerable:!1,configurable:!1,writable:!1})}oo("hasInstance"),oo("isConcatSpreadable"),oo("iterator"),oo("match"),oo("matchAll"),oo("replace"),oo("search"),oo("species"),oo("split");var al=uo;oo("toPrimitive"),al();var sl=H,cl=go;oo("toStringTag"),cl(sl("Symbol"),"Symbol"),oo("unscopables");var ll=A,ul=mt,hl=function(t,e,r){try{return ll(ul(Object.getOwnPropertyDescriptor(t,e)[r]))}catch(t){}},fl=$,dl=function(t){return fl(t)||null===t},pl=dl,gl=String,vl=TypeError,yl=function(t){if(pl(t))return t;throw new vl("Can't set "+gl(t)+" as a prototype")},ml=hl,bl=$,xl=L,wl=yl,Al=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=ml(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return xl(r),wl(n),bl(r)?(e?t(r,n):r.__proto__=n,r):r}}():void 0),_l=Te.f,El=function(t,e,r){r in t||_l(t,r,{configurable:!0,get:function(){return e[r]},set:function(t){e[r]=t}})},Sl=U,kl=$,Ml=Al,Ol=function(t,e,r){var n,i;return Ml&&Sl(n=e.constructor)&&n!==r&&kl(i=n.prototype)&&i!==r.prototype&&Ml(t,i),t},Tl=gi,Pl=function(t,e){return void 0===t?arguments.length<2?"":e:Tl(t)},Il=$,Cl=Ve,Rl=function(t,e){Il(e)&&"cause"in e&&Cl(t,"cause",e.cause)},Dl=Error,Ll=A("".replace),jl=String(new Dl("zxcasd").stack),Nl=/\n\s*at [^:]*:[^\n]*/,Fl=Nl.test(jl),zl=function(t,e){if(Fl&&"string"==typeof t&&!Dl.prepareStackTrace)for(;e--;)t=Ll(t,Nl,"");return t},Ul=y,Bl=!o(function(){var t=new Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",Ul(1,7)),7!==t.stack)}),$l=Ve,Yl=zl,Gl=Bl,Hl=Error.captureStackTrace,Wl=function(t,e,r,n){Gl&&(Hl?Hl(t,e):$l(t,"stack",Yl(r,n)))},ql=H,Vl=$t,Xl=Ve,Kl=W,Ql=Al,Jl=Un,Zl=El,tu=Ol,eu=Pl,ru=Rl,nu=Wl,iu=a,ou=function(t,e,r,n){var i="stackTraceLimit",o=n?2:1,a=t.split("."),s=a[a.length-1],c=ql.apply(null,a);if(c){var l=c.prototype;if(Vl(l,"cause")&&delete l.cause,!r)return c;var u=ql("Error"),h=e(function(t,e){var r=eu(n?e:t,void 0),i=n?new c(t):new c;return void 0!==r&&Xl(i,"message",r),nu(i,h,i.stack,2),this&&Kl(l,this)&&tu(i,this,h),arguments.length>o&&ru(i,arguments[o]),i});h.prototype=l,"Error"!==s?Ql?Ql(h,u):Jl(h,u,{name:!0}):iu&&i in c&&(Zl(h,c,i),Zl(h,c,"prepareStackTrace")),Jl(h,c);try{l.name!==s&&Xl(l,"name",s),l.constructor=h}catch(t){}return h}},au=ni,su=Os,cu=ou,lu="WebAssembly",uu=n[lu],hu=7!==new Error("e",{cause:7}).cause,fu=function(t,e){var r={};r[t]=cu(t,e,hu),au({global:!0,constructor:!0,arity:1,forced:hu},r)},du=function(t,e){if(uu&&uu[t]){var r={};r[t]=cu(lu+"."+t,e,hu),au({target:lu,stat:!0,constructor:!0,arity:1,forced:hu},r)}};fu("Error",function(t){return function(e){return su(t,this,arguments)}}),fu("EvalError",function(t){return function(e){return su(t,this,arguments)}}),fu("RangeError",function(t){return function(e){return su(t,this,arguments)}}),fu("ReferenceError",function(t){return function(e){return su(t,this,arguments)}}),fu("SyntaxError",function(t){return function(e){return su(t,this,arguments)}}),fu("TypeError",function(t){return function(e){return su(t,this,arguments)}}),fu("URIError",function(t){return function(e){return su(t,this,arguments)}}),du("CompileError",function(t){return function(e){return su(t,this,arguments)}}),du("LinkError",function(t){return function(e){return su(t,this,arguments)}}),du("RuntimeError",function(t){return function(e){return su(t,this,arguments)}});var pu=ni,gu=H,vu=$,yu=fi,mu=o,bu="Error",xu="DOMException",wu=Object.setPrototypeOf||{}.__proto__,Au=gu(xu),_u=Error,Eu=_u.isError;pu({target:"Error",stat:!0,sham:!0,forced:!Eu||!wu||mu(function(){return Au&&!Eu(new Au(xu))||!Eu(new _u(bu,{cause:function(){}}))||Eu(gu("Object","create")(_u.prototype))})},{isError:function(t){if(!vu(t))return!1;var e=yu(t);return e===bu||e===xu}});var Su=a,ku=o,Mu=De,Ou=Pl,Tu=Error.prototype.toString,Pu=ku(function(){if(Su){var t=Object.create(Object.defineProperty({},"name",{get:function(){return this===t}}));if("true"!==Tu.call(t))return!0}return"2: 1"!==Tu.call({message:1,name:2})||"Error"!==Tu.call({})}),Iu=Pu?function(){var t=Mu(this),e=Ou(t.name,"Error"),r=Ou(t.message);return e?r?e+": "+r:e:r}:Tu,Cu=Jr,Ru=Iu,Du=Error.prototype;Du.toString!==Ru&&Cu(Du,"toString",Ru);var Lu=!o(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),ju=$t,Nu=U,Fu=zt,zu=Lu,Uu=gr("IE_PROTO"),Bu=Object,$u=Bu.prototype,Yu=zu?Bu.getPrototypeOf:function(t){var e=Fu(t);if(ju(e,Uu))return e[Uu];var r=e.constructor;return Nu(r)&&e instanceof r?r.prototype:e instanceof Bu?$u:null},Gu={},Hu=Gu,Wu=re("iterator"),qu=Array.prototype,Vu=function(t){return void 0!==t&&(Hu.Array===t||qu[Wu]===t)},Xu=fi,Ku=wt,Qu=C,Ju=Gu,Zu=re("iterator"),th=function(t){if(!Qu(t))return Ku(t,Zu)||Ku(t,"@@iterator")||Ju[Xu(t)]},eh=u,rh=mt,nh=De,ih=pt,oh=th,ah=TypeError,sh=function(t,e){var r=arguments.length<2?oh(t):e;if(rh(r))return nh(eh(r,t));throw new ah(ih(t)+" is not iterable")},ch=u,lh=De,uh=wt,hh=function(t,e,r){var n,i;lh(t);try{if(!(n=uh(t,"return"))){if("throw"===e)throw r;return r}n=ch(n,t)}catch(t){i=!0,n=t}if("throw"===e)throw r;if(i)throw n;return lh(n),r},fh=Ao,dh=u,ph=De,gh=pt,vh=Vu,yh=pn,mh=W,bh=sh,xh=th,wh=hh,Ah=TypeError,_h=function(t,e){this.stopped=t,this.result=e},Eh=_h.prototype,Sh=function(t,e,r){var n,i,o,a,s,c,l,u=r&&r.that,h=!(!r||!r.AS_ENTRIES),f=!(!r||!r.IS_RECORD),d=!(!r||!r.IS_ITERATOR),p=!(!r||!r.INTERRUPTED),g=fh(e,u),v=function(t){return n&&wh(n,"normal"),new _h(!0,t)},y=function(t){return h?(ph(t),p?g(t[0],t[1],v):g(t[0],t[1])):p?g(t,v):g(t)};if(f)n=t.iterator;else if(d)n=t;else{if(!(i=xh(t)))throw new Ah(gh(t)+" is not iterable");if(vh(i)){for(o=0,a=yh(t);a>o;o++)if((s=y(t[o]))&&mh(Eh,s))return s;return new _h(!1)}n=bh(t,i)}for(c=f?t.next:n.next;!(l=dh(c,n)).done;){try{s=y(l.value)}catch(t){wh(n,"throw",t)}if("object"==typeof s&&s&&mh(Eh,s))return s}return new _h(!1)},kh=ni,Mh=W,Oh=Yu,Th=Al,Ph=Un,Ih=Bi,Ch=Ve,Rh=y,Dh=Rl,Lh=Wl,jh=Sh,Nh=Pl,Fh=re("toStringTag"),zh=Error,Uh=[].push,Bh=function(t,e){var r,n=Mh($h,this);Th?r=Th(new zh,n?Oh(this):$h):(r=n?this:Ih($h),Ch(r,Fh,"Error")),void 0!==e&&Ch(r,"message",Nh(e)),Lh(r,Bh,r.stack,1),arguments.length>2&&Dh(r,arguments[2]);var i=[];return jh(t,Uh,{that:i}),Ch(r,"errors",i),r};Th?Th(Bh,zh):Ph(Bh,zh,{name:!0});var $h=Bh.prototype=Ih(zh.prototype,{constructor:Rh(1,Bh),message:Rh(1,""),name:Rh(1,"AggregateError")});kh({global:!0,constructor:!0,arity:2},{AggregateError:Bh});var Yh=ni,Gh=Os,Hh=o,Wh=ou,qh="AggregateError",Vh=H(qh),Xh=!Hh(function(){return 1!==Vh([1]).errors[0]})&&Hh(function(){return 7!==Vh([1],qh,{cause:7}).cause});Yh({global:!0,constructor:!0,arity:2,forced:Xh},{AggregateError:Wh(qh,function(t){return function(e,r){return Gh(t,this,arguments)}},Xh,!0)});var Kh=ni,Qh=W,Jh=Yu,Zh=Al,tf=Un,ef=Bi,rf=Ve,nf=y,of=Wl,af=Pl,sf=re,cf=o,lf=n.SuppressedError,uf=sf("toStringTag"),hf=Error,ff=!!lf&&3!==lf.length,df=!!lf&&cf(function(){return 4===new lf(1,2,3,{cause:4}).cause}),pf=ff||df,gf=function(t,e,r){var n,i=Qh(vf,this);return Zh?n=!pf||i&&Jh(this)!==vf?Zh(new hf,i?Jh(this):vf):new lf:(n=i?this:ef(vf),rf(n,uf,"Error")),void 0!==r&&rf(n,"message",af(r)),of(n,gf,n.stack,1),rf(n,"error",t),rf(n,"suppressed",e),n};Zh?Zh(gf,hf):tf(gf,hf,{name:!0});var vf=gf.prototype=pf?lf.prototype:ef(hf.prototype,{constructor:nf(1,gf),message:nf(1,""),name:nf(1,"SuppressedError")});pf&&(vf.constructor=gf),Kh({global:!0,constructor:!0,arity:3,forced:pf},{SuppressedError:gf});var yf=re,mf=Bi,bf=Te.f,xf=yf("unscopables"),wf=Array.prototype;void 0===wf[xf]&&bf(wf,xf,{configurable:!0,value:mf(null)});var Af=function(t){wf[xf][t]=!0},_f=zt,Ef=pn,Sf=on,kf=Af;ni({target:"Array",proto:!0},{at:function(t){var e=_f(this),r=Ef(e),n=Sf(t),i=n>=0?n:r+n;return i<0||i>=r?void 0:e[i]}}),kf("at");var Mf=TypeError,Of=function(t){if(t>9007199254740991)throw Mf("Maximum allowed index exceeded");return t},Tf=a,Pf=Te,If=y,Cf=function(t,e,r){Tf?Pf.f(t,e,If(0,r)):t[e]=r},Rf=o,Df=rt,Lf=re("species"),jf=function(t){return Df>=51||!Rf(function(){var e=[];return(e.constructor={})[Lf]=function(){return{foo:1}},1!==e[t](Boolean).foo})},Nf=ni,Ff=o,zf=Eo,Uf=$,Bf=zt,$f=pn,Yf=Of,Gf=Cf,Hf=Go,Wf=jf,qf=rt,Vf=re("isConcatSpreadable"),Xf=qf>=51||!Ff(function(){var t=[];return t[Vf]=!1,t.concat()[0]!==t}),Kf=function(t){if(!Uf(t))return!1;var e=t[Vf];return void 0!==e?!!e:zf(t)};Nf({target:"Array",proto:!0,arity:1,forced:!Xf||!Wf("concat")},{concat:function(t){var e,r,n,i,o,a=Bf(this),s=Hf(a,0),c=0;for(e=-1,n=arguments.length;e<n;e++)if(Kf(o=-1===e?a:arguments[e]))for(i=$f(o),Yf(c+i),r=0;r<i;r++,c++)r in o&&Gf(s,c,o[r]);else Yf(c+1),Gf(s,c++,o);return s.length=c,s}});var Qf=pt,Jf=TypeError,Zf=function(t,e){if(!delete t[e])throw new Jf("Cannot delete property "+Qf(e)+" of "+Qf(t))},td=zt,ed=ln,rd=pn,nd=Zf,id=Math.min,od=[].copyWithin||function(t,e){var r=td(this),n=rd(r),i=ed(t,n),o=ed(e,n),a=arguments.length>2?arguments[2]:void 0,s=id((void 0===a?n:ed(a,n))-o,n-i),c=1;for(o<i&&i<o+s&&(c=-1,o+=s-1,i+=s-1);s-- >0;)o in r?r[i]=r[o]:nd(r,i),i+=c,o+=c;return r},ad=Af;ni({target:"Array",proto:!0},{copyWithin:od}),ad("copyWithin");var sd=o,cd=function(t,e){var r=[][t];return!!r&&sd(function(){r.call(null,e||function(){return 1},1)})},ld=Jo.every;ni({target:"Array",proto:!0,forced:!cd("every")},{every:function(t){return ld(this,t,arguments.length>1?arguments[1]:void 0)}});var ud=zt,hd=ln,fd=pn,dd=function(t){for(var e=ud(this),r=fd(e),n=arguments.length,i=hd(n>1?arguments[1]:void 0,r),o=n>2?arguments[2]:void 0,a=void 0===o?r:hd(o,r);a>i;)e[i++]=t;return e},pd=Af;ni({target:"Array",proto:!0},{fill:dd}),pd("fill");var gd=Jo.filter;ni({target:"Array",proto:!0,forced:!jf("filter")},{filter:function(t){return gd(this,t,arguments.length>1?arguments[1]:void 0)}});var vd=ni,yd=Jo.find,md=Af,bd="find",xd=!0;bd in[]&&Array(1)[bd](function(){xd=!1}),vd({target:"Array",proto:!0,forced:xd},{find:function(t){return yd(this,t,arguments.length>1?arguments[1]:void 0)}}),md(bd);var wd=ni,Ad=Jo.findIndex,_d=Af,Ed="findIndex",Sd=!0;Ed in[]&&Array(1)[Ed](function(){Sd=!1}),wd({target:"Array",proto:!0,forced:Sd},{findIndex:function(t){return Ad(this,t,arguments.length>1?arguments[1]:void 0)}}),_d(Ed);var kd=Ao,Md=I,Od=zt,Td=pn,Pd=function(t){var e=1===t;return function(r,n,i){for(var o,a=Od(r),s=Md(a),c=Td(s),l=kd(n,i);c-- >0;)if(l(o=s[c],c,a))switch(t){case 0:return o;case 1:return c}return e?-1:void 0}},Id={findLast:Pd(0),findLastIndex:Pd(1)},Cd=Id.findLast,Rd=Af;ni({target:"Array",proto:!0},{findLast:function(t){return Cd(this,t,arguments.length>1?arguments[1]:void 0)}}),Rd("findLast");var Dd=Id.findLastIndex,Ld=Af;ni({target:"Array",proto:!0},{findLastIndex:function(t){return Dd(this,t,arguments.length>1?arguments[1]:void 0)}}),Ld("findLastIndex");var jd=Eo,Nd=pn,Fd=Of,zd=Ao,Ud=function(t,e,r,n,i,o,a,s){for(var c,l,u=i,h=0,f=!!a&&zd(a,s);h<n;)h in r&&(c=f?f(r[h],h,e):r[h],o>0&&jd(c)?(l=Nd(c),u=Ud(t,e,c,l,u,o-1)-1):(Fd(u+1),t[u]=c),u++),h++;return u},Bd=Ud,$d=Bd,Yd=zt,Gd=pn,Hd=on,Wd=Go;ni({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=Yd(this),r=Gd(e),n=Wd(e,0);return n.length=$d(n,e,e,r,0,void 0===t?1:Hd(t)),n}});var qd=Bd,Vd=mt,Xd=zt,Kd=pn,Qd=Go;ni({target:"Array",proto:!0},{flatMap:function(t){var e,r=Xd(this),n=Kd(r);return Vd(t),(e=Qd(r,0)).length=qd(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}});var Jd=Jo.forEach,Zd=cd("forEach")?[].forEach:function(t){return Jd(this,t,arguments.length>1?arguments[1]:void 0)};ni({target:"Array",proto:!0,forced:[].forEach!==Zd},{forEach:Zd});var tp=De,ep=hh,rp=function(t,e,r,n){try{return n?e(tp(r)[0],r[1]):e(r)}catch(e){ep(t,"throw",e)}},np=Ao,ip=u,op=zt,ap=rp,sp=Vu,cp=No,lp=pn,up=Cf,hp=sh,fp=th,dp=Array,pp=function(t){var e=op(t),r=cp(this),n=arguments.length,i=n>1?arguments[1]:void 0,o=void 0!==i;o&&(i=np(i,n>2?arguments[2]:void 0));var a,s,c,l,u,h,f=fp(e),d=0;if(!f||this===dp&&sp(f))for(a=lp(e),s=r?new this(a):dp(a);a>d;d++)h=o?i(e[d],d):e[d],up(s,d,h);else for(s=r?new this:[],u=(l=hp(e,f)).next;!(c=ip(u,l)).done;d++)h=o?ap(l,i,[c.value,d],!0):c.value,up(s,d,h);return s.length=d,s},gp=re("iterator"),vp=!1;try{var yp=0,mp={next:function(){return{done:!!yp++}},return:function(){vp=!0}};mp[gp]=function(){return this},Array.from(mp,function(){throw 2})}catch(t){}var bp=function(t,e){try{if(!e&&!vp)return!1}catch(t){return!1}var r=!1;try{var n={};n[gp]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},xp=pp;ni({target:"Array",stat:!0,forced:!bp(function(t){Array.from(t)})},{from:xp});var wp=bn.includes,Ap=Af;ni({target:"Array",proto:!0,forced:o(function(){return!Array(1).includes()})},{includes:function(t){return wp(this,t,arguments.length>1?arguments[1]:void 0)}}),Ap("includes");var _p=ni,Ep=bn.indexOf,Sp=cd,kp=mo([].indexOf),Mp=!!kp&&1/kp([1],1,-0)<0;_p({target:"Array",proto:!0,forced:Mp||!Sp("indexOf")},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return Mp?kp(this,t,e)||0:Ep(this,t,e)}}),ni({target:"Array",stat:!0},{isArray:Eo});var Op,Tp,Pp,Ip=o,Cp=U,Rp=$,Dp=Yu,Lp=Jr,jp=re("iterator"),Np=!1;[].keys&&("next"in(Pp=[].keys())?(Tp=Dp(Dp(Pp)))!==Object.prototype&&(Op=Tp):Np=!0);var Fp=!Rp(Op)||Ip(function(){var t={};return Op[jp].call(t)!==t});Fp&&(Op={}),Cp(Op[jp])||Lp(Op,jp,function(){return this});var zp={IteratorPrototype:Op,BUGGY_SAFARI_ITERATORS:Np},Up=zp.IteratorPrototype,Bp=Bi,$p=y,Yp=go,Gp=Gu,Hp=function(){return this},Wp=function(t,e,r,n){var i=e+" Iterator";return t.prototype=Bp(Up,{next:$p(+!n,r)}),Yp(t,i,!1),Gp[i]=Hp,t},qp=ni,Vp=u,Xp=U,Kp=Wp,Qp=Yu,Jp=Al,Zp=go,tg=Ve,eg=Jr,rg=Gu,ng=er.PROPER,ig=er.CONFIGURABLE,og=zp.IteratorPrototype,ag=zp.BUGGY_SAFARI_ITERATORS,sg=re("iterator"),cg="keys",lg="values",ug="entries",hg=function(){return this},fg=function(t,e,r,n,i,o,a){Kp(r,e,n);var s,c,l,u=function(t){if(t===i&&g)return g;if(!ag&&t&&t in d)return d[t];switch(t){case cg:case lg:case ug:return function(){return new r(this,t)}}return function(){return new r(this)}},h=e+" Iterator",f=!1,d=t.prototype,p=d[sg]||d["@@iterator"]||i&&d[i],g=!ag&&p||u(i),v="Array"===e&&d.entries||p;if(v&&(s=Qp(v.call(new t)))!==Object.prototype&&s.next&&(Qp(s)!==og&&(Jp?Jp(s,og):Xp(s[sg])||eg(s,sg,hg)),Zp(s,h,!0)),ng&&i===lg&&p&&p.name!==lg&&(ig?tg(d,"name",lg):(f=!0,g=function(){return Vp(p,this)})),i)if(c={values:u(lg),keys:o?g:u(cg),entries:u(ug)},a)for(l in c)(ag||f||!(l in d))&&eg(d,l,c[l]);else qp({target:e,proto:!0,forced:ag||f},c);return d[sg]!==g&&eg(d,sg,g,{name:i}),rg[e]=g,c},dg=function(t,e){return{value:t,done:e}},pg=F,gg=Af,vg=Gu,yg=Pr,mg=Te.f,bg=fg,xg=dg,wg=a,Ag="Array Iterator",_g=yg.set,Eg=yg.getterFor(Ag),Sg=bg(Array,"Array",function(t,e){_g(this,{type:Ag,target:pg(t),index:0,kind:e})},function(){var t=Eg(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,xg(void 0,!0);switch(t.kind){case"keys":return xg(r,!1);case"values":return xg(e[r],!1)}return xg([r,e[r]],!1)},"values"),kg=vg.Arguments=vg.Array;if(gg("keys"),gg("values"),gg("entries"),wg&&"values"!==kg.name)try{mg(kg,"name",{value:"values"})}catch(t){}var Mg=ni,Og=I,Tg=F,Pg=cd,Ig=A([].join);Mg({target:"Array",proto:!0,forced:Og!==Object||!Pg("join",",")},{join:function(t){return Ig(Tg(this),void 0===t?",":t)}});var Cg=Os,Rg=F,Dg=on,Lg=pn,jg=cd,Ng=Math.min,Fg=[].lastIndexOf,zg=!!Fg&&1/[1].lastIndexOf(1,-0)<0,Ug=jg("lastIndexOf"),Bg=zg||!Ug?function(t){if(zg)return Cg(Fg,this,arguments)||0;var e=Rg(this),r=Lg(e);if(0===r)return-1;var n=r-1;for(arguments.length>1&&(n=Ng(n,Dg(arguments[1]))),n<0&&(n=r+n);n>=0;n--)if(n in e&&e[n]===t)return n||0;return-1}:Fg;ni({target:"Array",proto:!0,forced:Bg!==[].lastIndexOf},{lastIndexOf:Bg});var $g=Jo.map;ni({target:"Array",proto:!0,forced:!jf("map")},{map:function(t){return $g(this,t,arguments.length>1?arguments[1]:void 0)}});var Yg=No,Gg=Cf,Hg=Array;ni({target:"Array",stat:!0,forced:o(function(){function t(){}return!(Hg.of.call(t)instanceof t)})},{of:function(){for(var t=0,e=arguments.length,r=new(Yg(this)?this:Hg)(e);e>t;)Gg(r,t,arguments[t++]);return r.length=e,r}});var Wg=a,qg=Eo,Vg=TypeError,Xg=Object.getOwnPropertyDescriptor,Kg=Wg&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}()?function(t,e){if(qg(t)&&!Xg(t,"length").writable)throw new Vg("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e},Qg=zt,Jg=pn,Zg=Kg,tv=Of;ni({target:"Array",proto:!0,arity:1,forced:o(function(){return 4294967297!==[].push.call({length:4294967296},1)})||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}()},{push:function(t){var e=Qg(this),r=Jg(e),n=arguments.length;tv(r+n);for(var i=0;i<n;i++)e[r]=arguments[i],r++;return Zg(e,r),r}});var ev=mt,rv=zt,nv=I,iv=pn,ov=TypeError,av="Reduce of empty array with no initial value",sv=function(t){return function(e,r,n,i){var o=rv(e),a=nv(o),s=iv(o);if(ev(r),0===s&&n<2)throw new ov(av);var c=t?s-1:0,l=t?-1:1;if(n<2)for(;;){if(c in a){i=a[c],c+=l;break}if(c+=l,t?c<0:s<=c)throw new ov(av)}for(;t?c>=0:s>c;c+=l)c in a&&(i=r(i,a[c],c,o));return i}},cv={left:sv(!1),right:sv(!0)},lv=n,uv=X,hv=k,fv=function(t){return uv.slice(0,t.length)===t},dv=fv("Bun/")?"BUN":fv("Cloudflare-Workers")?"CLOUDFLARE":fv("Deno/")?"DENO":fv("Node.js/")?"NODE":lv.Bun&&"string"==typeof Bun.version?"BUN":lv.Deno&&"object"==typeof Deno.version?"DENO":"process"===hv(lv.process)?"NODE":lv.window&&lv.document?"BROWSER":"REST",pv="NODE"===dv,gv=cv.left;ni({target:"Array",proto:!0,forced:!pv&&rt>79&&rt<83||!cd("reduce")},{reduce:function(t){var e=arguments.length;return gv(this,t,e,e>1?arguments[1]:void 0)}});var vv=cv.right;ni({target:"Array",proto:!0,forced:!pv&&rt>79&&rt<83||!cd("reduceRight")},{reduceRight:function(t){return vv(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}});var yv=ni,mv=Eo,bv=A([].reverse),xv=[1,2];yv({target:"Array",proto:!0,forced:String(xv)===String(xv.reverse())},{reverse:function(){return mv(this)&&(this.length=this.length),bv(this)}});var wv=ni,Av=Eo,_v=No,Ev=$,Sv=ln,kv=pn,Mv=F,Ov=Cf,Tv=re,Pv=Yi,Iv=jf("slice"),Cv=Tv("species"),Rv=Array,Dv=Math.max;wv({target:"Array",proto:!0,forced:!Iv},{slice:function(t,e){var r,n,i,o=Mv(this),a=kv(o),s=Sv(t,a),c=Sv(void 0===e?a:e,a);if(Av(o)&&(r=o.constructor,(_v(r)&&(r===Rv||Av(r.prototype))||Ev(r)&&null===(r=r[Cv]))&&(r=void 0),r===Rv||void 0===r))return Pv(o,s,c);for(n=new(void 0===r?Rv:r)(Dv(c-s,0)),i=0;s<c;s++,i++)s in o&&Ov(n,i,o[s]);return n.length=i,n}});var Lv=Jo.some;ni({target:"Array",proto:!0,forced:!cd("some")},{some:function(t){return Lv(this,t,arguments.length>1?arguments[1]:void 0)}});var jv=Yi,Nv=Math.floor,Fv=function(t,e){var r=t.length;if(r<8)for(var n,i,o=1;o<r;){for(i=o,n=t[o];i&&e(t[i-1],n)>0;)t[i]=t[--i];i!==o++&&(t[i]=n)}else for(var a=Nv(r/2),s=Fv(jv(t,0,a),e),c=Fv(jv(t,a),e),l=s.length,u=c.length,h=0,f=0;h<l||f<u;)t[h+f]=h<l&&f<u?e(s[h],c[f])<=0?s[h++]:c[f++]:h<l?s[h++]:c[f++];return t},zv=Fv,Uv=X.match(/firefox\/(\d+)/i),Bv=!!Uv&&+Uv[1],$v=/MSIE|Trident/.test(X),Yv=X.match(/AppleWebKit\/(\d+)\./),Gv=!!Yv&&+Yv[1],Hv=ni,Wv=A,qv=mt,Vv=zt,Xv=pn,Kv=Zf,Qv=gi,Jv=o,Zv=zv,ty=cd,ey=Bv,ry=$v,ny=rt,iy=Gv,oy=[],ay=Wv(oy.sort),sy=Wv(oy.push),cy=Jv(function(){oy.sort(void 0)}),ly=Jv(function(){oy.sort(null)}),uy=ty("sort"),hy=!Jv(function(){if(ny)return ny<70;if(!(ey&&ey>3)){if(ry)return!0;if(iy)return iy<603;var t,e,r,n,i="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)oy.push({k:e+n,v:r})}for(oy.sort(function(t,e){return e.v-t.v}),n=0;n<oy.length;n++)e=oy[n].k.charAt(0),i.charAt(i.length-1)!==e&&(i+=e);return"DGBEFHACIJK"!==i}});Hv({target:"Array",proto:!0,forced:cy||!ly||!uy||!hy},{sort:function(t){void 0!==t&&qv(t);var e=Vv(this);if(hy)return void 0===t?ay(e):ay(e,t);var r,n,i=[],o=Xv(e);for(n=0;n<o;n++)n in e&&sy(i,e[n]);for(Zv(i,function(t){return function(e,r){return void 0===r?-1:void 0===e?1:void 0!==t?+t(e,r)||0:Qv(e)>Qv(r)?1:-1}}(t)),r=Xv(i),n=0;n<r;)e[n]=i[n++];for(;n<o;)Kv(e,n++);return e}});var fy=H,dy=Qi,py=a,gy=re("species"),vy=function(t){var e=fy(t);py&&e&&!e[gy]&&dy(e,gy,{configurable:!0,get:function(){return this}})};vy("Array");var yy=ni,my=zt,by=ln,xy=on,wy=pn,Ay=Kg,_y=Of,Ey=Go,Sy=Cf,ky=Zf,My=jf("splice"),Oy=Math.max,Ty=Math.min;yy({target:"Array",proto:!0,forced:!My},{splice:function(t,e){var r,n,i,o,a,s,c=my(this),l=wy(c),u=by(t,l),h=arguments.length;for(0===h?r=n=0:1===h?(r=0,n=l-u):(r=h-2,n=Ty(Oy(xy(e),0),l-u)),_y(l+r-n),i=Ey(c,n),o=0;o<n;o++)(a=u+o)in c&&Sy(i,o,c[a]);if(i.length=n,r<n){for(o=u;o<l-n;o++)s=o+r,(a=o+n)in c?c[s]=c[a]:ky(c,s);for(o=l;o>l-n+r;o--)ky(c,o-1)}else if(r>n)for(o=l-n;o>u;o--)s=o+r-1,(a=o+n-1)in c?c[s]=c[a]:ky(c,s);for(o=0;o<r;o++)c[o+u]=arguments[o+2];return Ay(c,l-n+r),i}});var Py=pn,Iy=function(t,e){for(var r=Py(t),n=new e(r),i=0;i<r;i++)n[i]=t[r-i-1];return n},Cy=Iy,Ry=F,Dy=Af,Ly=Array;ni({target:"Array",proto:!0},{toReversed:function(){return Cy(Ry(this),Ly)}}),Dy("toReversed");var jy=pn,Ny=function(t,e,r){for(var n=0,i=arguments.length>2?r:jy(e),o=new t(i);i>n;)o[n]=e[n++];return o},Fy=n,zy=function(t,e){var r=Fy[t],n=r&&r.prototype;return n&&n[e]},Uy=ni,By=mt,$y=F,Yy=Ny,Gy=Af,Hy=Array,Wy=A(zy("Array","sort"));Uy({target:"Array",proto:!0},{toSorted:function(t){void 0!==t&&By(t);var e=$y(this),r=Yy(Hy,e);return Wy(r,t)}}),Gy("toSorted");var qy=ni,Vy=Af,Xy=Of,Ky=pn,Qy=ln,Jy=F,Zy=on,tm=Array,em=Math.max,rm=Math.min;qy({target:"Array",proto:!0},{toSpliced:function(t,e){var r,n,i,o,a=Jy(this),s=Ky(a),c=Qy(t,s),l=arguments.length,u=0;for(0===l?r=n=0:1===l?(r=0,n=s-c):(r=l-2,n=rm(em(Zy(e),0),s-c)),i=Xy(s+r-n),o=tm(i);u<c;u++)o[u]=a[u];for(;u<c+r;u++)o[u]=arguments[u-c+2];for(;u<i;u++)o[u]=a[u+n-r];return o}}),Vy("toSpliced"),Af("flat"),Af("flatMap");var nm=zt,im=pn,om=Kg,am=Zf,sm=Of;ni({target:"Array",proto:!0,arity:1,forced:1!==[].unshift(0)||!function(){try{Object.defineProperty([],"length",{writable:!1}).unshift()}catch(t){return t instanceof TypeError}}()},{unshift:function(t){var e=nm(this),r=im(e),n=arguments.length;if(n){sm(r+n);for(var i=r;i--;){var o=i+n;i in e?e[o]=e[i]:am(e,o)}for(var a=0;a<n;a++)e[a]=arguments[a]}return om(e,r+n)}});var cm=pn,lm=on,um=RangeError,hm=function(t,e,r,n){var i=cm(t),o=lm(r),a=o<0?i+o:o;if(a>=i||a<0)throw new um("Incorrect index");for(var s=new e(i),c=0;c<i;c++)s[c]=c===a?n:t[c];return s},fm=hm,dm=F,pm=Array;ni({target:"Array",proto:!0,forced:function(){try{[].with({valueOf:function(){throw 4}},null)}catch(t){return 4!==t}}()},{with:function(t,e){return fm(dm(this),pm,t,e)}});var gm="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,vm=Jr,ym=function(t,e,r){for(var n in e)vm(t,n,e[n],r);return t},mm=W,bm=TypeError,xm=function(t,e){if(mm(e,t))return t;throw new bm("Incorrect invocation")},wm=on,Am=fn,_m=RangeError,Em=function(t){if(void 0===t)return 0;var e=wm(t),r=Am(e);if(e!==r)throw new _m("Wrong length or index");return r},Sm=Math.sign||function(t){var e=+t;return 0===e||e!=e?e:e<0?-1:1},km=4503599627370496,Mm=function(t){return t+km-km},Om=Sm,Tm=Mm,Pm=Math.abs,Im=function(t,e,r,n){var i=+t,o=Pm(i),a=Om(i);if(o<n)return a*Tm(o/n/e)*n*e;var s=(1+e/2220446049250313e-31)*o,c=s-(s-o);return c>r||c!=c?a*(1/0):a*c},Cm=Im,Rm=Math.fround||function(t){return Cm(t,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)},Dm=Array,Lm=Math.abs,jm=Math.pow,Nm=Math.floor,Fm=Math.log,zm=Math.LN2,Um={pack:function(t,e,r){var n,i,o,a=Dm(r),s=8*r-e-1,c=(1<<s)-1,l=c>>1,u=23===e?jm(2,-24)-jm(2,-77):0,h=t<0||0===t&&1/t<0?1:0,f=0;for((t=Lm(t))!=t||t===1/0?(i=t!=t?1:0,n=c):(n=Nm(Fm(t)/zm),t*(o=jm(2,-n))<1&&(n--,o*=2),(t+=n+l>=1?u/o:u*jm(2,1-l))*o>=2&&(n++,o/=2),n+l>=c?(i=0,n=c):n+l>=1?(i=(t*o-1)*jm(2,e),n+=l):(i=t*jm(2,l-1)*jm(2,e),n=0));e>=8;)a[f++]=255&i,i/=256,e-=8;for(n=n<<e|i,s+=e;s>0;)a[f++]=255&n,n/=256,s-=8;return a[f-1]|=128*h,a},unpack:function(t,e){var r,n=t.length,i=8*n-e-1,o=(1<<i)-1,a=o>>1,s=i-7,c=n-1,l=t[c--],u=127&l;for(l>>=7;s>0;)u=256*u+t[c--],s-=8;for(r=u&(1<<-s)-1,u>>=-s,s+=e;s>0;)r=256*r+t[c--],s-=8;if(0===u)u=1-a;else{if(u===o)return r?NaN:l?-1/0:1/0;r+=jm(2,e),u-=a}return(l?-1:1)*r*jm(2,u-e)}},Bm=n,$m=A,Ym=a,Gm=gm,Hm=Ve,Wm=Qi,qm=ym,Vm=o,Xm=xm,Km=on,Qm=fn,Jm=Em,Zm=Rm,tb=Um,eb=Yu,rb=Al,nb=dd,ib=Yi,ob=Ol,ab=Un,sb=go,cb=Pr,lb=er.PROPER,ub=er.CONFIGURABLE,hb="ArrayBuffer",fb="DataView",db="prototype",pb="Wrong index",gb=cb.getterFor(hb),vb=cb.getterFor(fb),yb=cb.set,mb=Bm[hb],bb=mb,xb=bb&&bb[db],wb=Bm[fb],Ab=wb&&wb[db],_b=Object.prototype,Eb=Bm.Array,Sb=Bm.RangeError,kb=$m(nb),Mb=$m([].reverse),Ob=tb.pack,Tb=tb.unpack,Pb=function(t){return[255&t]},Ib=function(t){return[255&t,t>>8&255]},Cb=function(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]},Rb=function(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]},Db=function(t){return Ob(Zm(t),23,4)},Lb=function(t){return Ob(t,52,8)},jb=function(t,e,r){Wm(t[db],e,{configurable:!0,get:function(){return r(this)[e]}})},Nb=function(t,e,r,n){var i=vb(t),o=Jm(r),a=!!n;if(o+e>i.byteLength)throw new Sb(pb);var s=i.bytes,c=o+i.byteOffset,l=ib(s,c,c+e);return a?l:Mb(l)},Fb=function(t,e,r,n,i,o){var a=vb(t),s=Jm(r),c=n(+i),l=!!o;if(s+e>a.byteLength)throw new Sb(pb);for(var u=a.bytes,h=s+a.byteOffset,f=0;f<e;f++)u[h+f]=c[l?f:e-f-1]};if(Gm){var zb=lb&&mb.name!==hb;Vm(function(){mb(1)})&&Vm(function(){new mb(-1)})&&!Vm(function(){return new mb,new mb(1.5),new mb(NaN),1!==mb.length||zb&&!ub})?zb&&ub&&Hm(mb,"name",hb):((bb=function(t){return Xm(this,xb),ob(new mb(Jm(t)),this,bb)})[db]=xb,xb.constructor=bb,ab(bb,mb)),rb&&eb(Ab)!==_b&&rb(Ab,_b);var Ub=new wb(new bb(2)),Bb=$m(Ab.setInt8);Ub.setInt8(0,2147483648),Ub.setInt8(1,2147483649),!Ub.getInt8(0)&&Ub.getInt8(1)||qm(Ab,{setInt8:function(t,e){Bb(this,t,e<<24>>24)},setUint8:function(t,e){Bb(this,t,e<<24>>24)}},{unsafe:!0})}else xb=(bb=function(t){Xm(this,xb);var e=Jm(t);yb(this,{type:hb,bytes:kb(Eb(e),0),byteLength:e}),Ym||(this.byteLength=e,this.detached=!1)})[db],wb=function(t,e,r){Xm(this,Ab),Xm(t,xb);var n=gb(t),i=n.byteLength,o=Km(e);if(o<0||o>i)throw new Sb("Wrong offset");if(o+(r=void 0===r?i-o:Qm(r))>i)throw new Sb("Wrong length");yb(this,{type:fb,buffer:t,byteLength:r,byteOffset:o,bytes:n.bytes}),Ym||(this.buffer=t,this.byteLength=r,this.byteOffset=o)},Ab=wb[db],Ym&&(jb(bb,"byteLength",gb),jb(wb,"buffer",vb),jb(wb,"byteLength",vb),jb(wb,"byteOffset",vb)),qm(Ab,{getInt8:function(t){return Nb(this,1,t)[0]<<24>>24},getUint8:function(t){return Nb(this,1,t)[0]},getInt16:function(t){var e=Nb(this,2,t,arguments.length>1&&arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=Nb(this,2,t,arguments.length>1&&arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return Rb(Nb(this,4,t,arguments.length>1&&arguments[1]))},getUint32:function(t){return Rb(Nb(this,4,t,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(t){return Tb(Nb(this,4,t,arguments.length>1&&arguments[1]),23)},getFloat64:function(t){return Tb(Nb(this,8,t,arguments.length>1&&arguments[1]),52)},setInt8:function(t,e){Fb(this,1,t,Pb,e)},setUint8:function(t,e){Fb(this,1,t,Pb,e)},setInt16:function(t,e){Fb(this,2,t,Ib,e,arguments.length>2&&arguments[2])},setUint16:function(t,e){Fb(this,2,t,Ib,e,arguments.length>2&&arguments[2])},setInt32:function(t,e){Fb(this,4,t,Cb,e,arguments.length>2&&arguments[2])},setUint32:function(t,e){Fb(this,4,t,Cb,e,arguments.length>2&&arguments[2])},setFloat32:function(t,e){Fb(this,4,t,Db,e,arguments.length>2&&arguments[2])},setFloat64:function(t,e){Fb(this,8,t,Lb,e,arguments.length>2&&arguments[2])}});sb(bb,hb),sb(wb,fb);var $b={ArrayBuffer:bb,DataView:wb},Yb=vy,Gb="ArrayBuffer",Hb=$b[Gb];ni({global:!0,constructor:!0,forced:n[Gb]!==Hb},{ArrayBuffer:Hb}),Yb(Gb);var Wb,qb,Vb,Xb=gm,Kb=a,Qb=n,Jb=U,Zb=$,tx=$t,ex=fi,rx=pt,nx=Ve,ix=Jr,ox=Qi,ax=W,sx=Yu,cx=Al,lx=re,ux=qt,hx=Pr.enforce,fx=Pr.get,dx=Qb.Int8Array,px=dx&&dx.prototype,gx=Qb.Uint8ClampedArray,vx=gx&&gx.prototype,yx=dx&&sx(dx),mx=px&&sx(px),bx=Object.prototype,xx=Qb.TypeError,wx=lx("toStringTag"),Ax=ux("TYPED_ARRAY_TAG"),_x="TypedArrayConstructor",Ex=Xb&&!!cx&&"Opera"!==ex(Qb.opera),Sx=!1,kx={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Mx={BigInt64Array:8,BigUint64Array:8},Ox=function(t){var e=sx(t);if(Zb(e)){var r=fx(e);return r&&tx(r,_x)?r[_x]:Ox(e)}},Tx=function(t){if(!Zb(t))return!1;var e=ex(t);return tx(kx,e)||tx(Mx,e)};for(Wb in kx)(Vb=(qb=Qb[Wb])&&qb.prototype)?hx(Vb)[_x]=qb:Ex=!1;for(Wb in Mx)(Vb=(qb=Qb[Wb])&&qb.prototype)&&(hx(Vb)[_x]=qb);if((!Ex||!Jb(yx)||yx===Function.prototype)&&(yx=function(){throw new xx("Incorrect invocation")},Ex))for(Wb in kx)Qb[Wb]&&cx(Qb[Wb],yx);if((!Ex||!mx||mx===bx)&&(mx=yx.prototype,Ex))for(Wb in kx)Qb[Wb]&&cx(Qb[Wb].prototype,mx);if(Ex&&sx(vx)!==mx&&cx(vx,mx),Kb&&!tx(mx,wx))for(Wb in Sx=!0,ox(mx,wx,{configurable:!0,get:function(){return Zb(this)?this[Ax]:void 0}}),kx)Qb[Wb]&&nx(Qb[Wb],Ax,Wb);var Px={NATIVE_ARRAY_BUFFER_VIEWS:Ex,TYPED_ARRAY_TAG:Sx&&Ax,aTypedArray:function(t){if(Tx(t))return t;throw new xx("Target is not a typed array")},aTypedArrayConstructor:function(t){if(Jb(t)&&(!cx||ax(yx,t)))return t;throw new xx(rx(t)+" is not a typed array constructor")},exportTypedArrayMethod:function(t,e,r,n){if(Kb){if(r)for(var i in kx){var o=Qb[i];if(o&&tx(o.prototype,t))try{delete o.prototype[t]}catch(r){try{o.prototype[t]=e}catch(t){}}}mx[t]&&!r||ix(mx,t,r?e:Ex&&px[t]||e,n)}},exportTypedArrayStaticMethod:function(t,e,r){var n,i;if(Kb){if(cx){if(r)for(n in kx)if((i=Qb[n])&&tx(i,t))try{delete i[t]}catch(t){}if(yx[t]&&!r)return;try{return ix(yx,t,r?e:Ex&&yx[t]||e)}catch(t){}}for(n in kx)!(i=Qb[n])||i[t]&&!r||ix(i,t,e)}},getTypedArrayConstructor:Ox,isView:function(t){if(!Zb(t))return!1;var e=ex(t);return"DataView"===e||tx(kx,e)||tx(Mx,e)},isTypedArray:Tx,TypedArray:yx,TypedArrayPrototype:mx};ni({target:"ArrayBuffer",stat:!0,forced:!Px.NATIVE_ARRAY_BUFFER_VIEWS},{isView:Px.isView});var Ix=ni,Cx=mo,Rx=o,Dx=De,Lx=ln,jx=fn,Nx=$b.ArrayBuffer,Fx=$b.DataView,zx=Fx.prototype,Ux=Cx(Nx.prototype.slice),Bx=Cx(zx.getUint8),$x=Cx(zx.setUint8);Ix({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:Rx(function(){return!new Nx(2).slice(1,void 0).byteLength})},{slice:function(t,e){if(Ux&&void 0===e)return Ux(Dx(this),t);for(var r=Dx(this).byteLength,n=Lx(t,r),i=Lx(void 0===e?r:e,r),o=new Nx(jx(i-n)),a=new Fx(this),s=new Fx(o),c=0;n<i;)$x(s,c++,Bx(a,n++));return o}}),ni({global:!0,constructor:!0,forced:!gm},{DataView:$b.DataView});var Yx=ni,Gx=A,Hx=Math.pow,Wx=Hx(2,-24),qx=.0009765625,Vx=Gx(DataView.prototype.getUint16);Yx({target:"DataView",proto:!0},{getFloat16:function(t){return function(t){var e=t>>>15,r=t>>>10&31,n=1023&t;return 31===r?0===n?0===e?1/0:-1/0:NaN:0===r?n*(0===e?Wx:-Wx):Hx(2,r-15)*(0===e?1+n*qx:-1-n*qx)}(Vx(this,t,arguments.length>1&&arguments[1]))}});var Xx=fi,Kx=TypeError,Qx=Math.log,Jx=Math.LN2,Zx=Math.log2||function(t){return Qx(t)/Jx},tw=ni,ew=A,rw=function(t){if("DataView"===Xx(t))return t;throw new Kx("Argument is not a DataView")},nw=Em,iw=Zx,ow=Mm,aw=Math.pow,sw=1024,cw=ew(DataView.prototype.setUint16);tw({target:"DataView",proto:!0},{setFloat16:function(t,e){cw(rw(this),nw(t),function(t){if(t!=t)return 32256;if(0===t)return(1/t==-1/0)<<15;var e=t<0;if(e&&(t=-t),t>=65520)return e<<15|31744;if(t<61005353927612305e-21)return e<<15|ow(16777216*t);var r=0|iw(t);if(-15===r)return e<<15|sw;var n=ow((t*aw(2,-r)-1)*sw);return n===sw?e<<15|r+16<<10:e<<15|r+15<<10|n}(+e),arguments.length>2&&arguments[2])}});var lw=n,uw=hl,hw=k,fw=lw.ArrayBuffer,dw=lw.TypeError,pw=fw&&uw(fw.prototype,"byteLength","get")||function(t){if("ArrayBuffer"!==hw(t))throw new dw("ArrayBuffer expected");return t.byteLength},gw=gm,vw=pw,yw=n.DataView,mw=function(t){if(!gw||0!==vw(t))return!1;try{return new yw(t),!1}catch(t){return!0}},bw=a,xw=Qi,ww=mw,Aw=ArrayBuffer.prototype;bw&&!("detached"in Aw)&&xw(Aw,"detached",{configurable:!0,get:function(){return ww(this)}});var _w,Ew,Sw,kw,Mw=mw,Ow=TypeError,Tw=function(t){if(Mw(t))throw new Ow("ArrayBuffer is detached");return t},Pw=n,Iw=pv,Cw=function(t){if(Iw){try{return Pw.process.getBuiltinModule(t)}catch(t){}try{return Function('return require("'+t+'")')()}catch(t){}}},Rw=o,Dw=rt,Lw=dv,jw=n.structuredClone,Nw=!!jw&&!Rw(function(){if("DENO"===Lw&&Dw>92||"NODE"===Lw&&Dw>94||"BROWSER"===Lw&&Dw>97)return!1;var t=new ArrayBuffer(8),e=jw(t,{transfer:[t]});return 0!==t.byteLength||8!==e.byteLength}),Fw=n,zw=Cw,Uw=Nw,Bw=Fw.structuredClone,$w=Fw.ArrayBuffer,Yw=Fw.MessageChannel,Gw=!1;if(Uw)Gw=function(t){Bw(t,{transfer:[t]})};else if($w)try{Yw||(_w=zw("worker_threads"))&&(Yw=_w.MessageChannel),Yw&&(Ew=new Yw,Sw=new $w(2),kw=function(t){Ew.port1.postMessage(null,[t])},2===Sw.byteLength&&(kw(Sw),0===Sw.byteLength&&(Gw=kw)))}catch(t){}var Hw=Gw,Ww=n,qw=A,Vw=hl,Xw=Em,Kw=Tw,Qw=pw,Jw=Hw,Zw=Nw,tA=Ww.structuredClone,eA=Ww.ArrayBuffer,rA=Ww.DataView,nA=Math.min,iA=eA.prototype,oA=rA.prototype,aA=qw(iA.slice),sA=Vw(iA,"resizable","get"),cA=Vw(iA,"maxByteLength","get"),lA=qw(oA.getInt8),uA=qw(oA.setInt8),hA=(Zw||Jw)&&function(t,e,r){var n,i=Qw(t),o=void 0===e?i:Xw(e),a=!sA||!sA(t);if(Kw(t),Zw&&(t=tA(t,{transfer:[t]}),i===o&&(r||a)))return t;if(i>=o&&(!r||a))n=aA(t,0,o);else{var s=r&&!a&&cA?{maxByteLength:cA(t)}:void 0;n=new eA(o,s);for(var c=new rA(t),l=new rA(n),u=nA(o,i),h=0;h<u;h++)uA(l,h,lA(c,h))}return Zw||Jw(t),n},fA=hA;fA&&ni({target:"ArrayBuffer",proto:!0},{transfer:function(){return fA(this,arguments.length?arguments[0]:void 0,!0)}});var dA=hA;dA&&ni({target:"ArrayBuffer",proto:!0},{transferToFixedLength:function(){return dA(this,arguments.length?arguments[0]:void 0,!1)}});var pA=ni,gA=A,vA=o(function(){return 120!==new Date(16e11).getYear()}),yA=gA(Date.prototype.getFullYear);pA({target:"Date",proto:!0,forced:vA},{getYear:function(){return yA(this)-1900}});var mA=ni,bA=Date,xA=A(bA.prototype.getTime);mA({target:"Date",stat:!0},{now:function(){return xA(new bA)}});var wA=ni,AA=A,_A=on,EA=Date.prototype,SA=AA(EA.getTime),kA=AA(EA.setFullYear);wA({target:"Date",proto:!0},{setYear:function(t){SA(this);var e=_A(t);return kA(this,e>=0&&e<=99?e+1900:e)}}),ni({target:"Date",proto:!0},{toGMTString:Date.prototype.toUTCString});var MA=on,OA=gi,TA=L,PA=RangeError,IA=function(t){var e=OA(TA(this)),r="",n=MA(t);if(n<0||n===1/0)throw new PA("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},CA=A,RA=fn,DA=gi,LA=L,jA=CA(IA),NA=CA("".slice),FA=Math.ceil,zA=function(t){return function(e,r,n){var i,o,a=DA(LA(e)),s=RA(r),c=a.length,l=void 0===n?" ":DA(n);return s<=c||""===l?a:((o=jA(l,FA((i=s-c)/l.length))).length>i&&(o=NA(o,0,i)),t?a+o:o+a)}},UA={start:zA(!1),end:zA(!0)},BA=A,$A=o,YA=UA.start,GA=RangeError,HA=isFinite,WA=Math.abs,qA=Date.prototype,VA=qA.toISOString,XA=BA(qA.getTime),KA=BA(qA.getUTCDate),QA=BA(qA.getUTCFullYear),JA=BA(qA.getUTCHours),ZA=BA(qA.getUTCMilliseconds),t_=BA(qA.getUTCMinutes),e_=BA(qA.getUTCMonth),r_=BA(qA.getUTCSeconds),n_=$A(function(){return"0385-07-25T07:06:39.999Z"!==VA.call(new Date(-50000000000001))})||!$A(function(){VA.call(new Date(NaN))})?function(){if(!HA(XA(this)))throw new GA("Invalid time value");var t=this,e=QA(t),r=ZA(t),n=e<0?"-":e>9999?"+":"";return n+YA(WA(e),n?6:4,0)+"-"+YA(e_(t)+1,2,0)+"-"+YA(KA(t),2,0)+"T"+YA(JA(t),2,0)+":"+YA(t_(t),2,0)+":"+YA(r_(t),2,0)+"."+YA(r,3,0)+"Z"}:VA,i_=n_;ni({target:"Date",proto:!0,forced:Date.prototype.toISOString!==i_},{toISOString:i_});var o_=zt,a_=ue;ni({target:"Date",proto:!0,arity:1,forced:o(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})})},{toJSON:function(t){var e=o_(this),r=a_(e,"number");return"number"!=typeof r||isFinite(r)?e.toISOString():null}});var s_=De,c_=kt,l_=TypeError,u_=$t,h_=Jr,f_=function(t){if(s_(this),"string"===t||"default"===t)t="string";else if("number"!==t)throw new l_("Incorrect hint");return c_(this,t)},d_=re("toPrimitive"),p_=Date.prototype;u_(p_,d_)||h_(p_,d_,f_);var g_=A,v_=Jr,y_=Date.prototype,m_="Invalid Date",b_="toString",x_=g_(y_[b_]),w_=g_(y_.getTime);String(new Date(NaN))!==m_&&v_(y_,b_,function(){var t=w_(this);return t==t?x_(this):m_});var A_=H,__=u,E_=A,S_=Ao,k_=De,M_=mt,O_=C,T_=wt,P_=re,I_=P_("asyncDispose"),C_=P_("dispose"),R_=E_([].push),D_=function(t,e,r){return arguments.length<3&&!O_(t)&&(r=M_(function(t,e){if("async-dispose"===e){var r=T_(t,I_);return void 0!==r||void 0===(r=T_(t,C_))?r:function(){var t=this;return new(A_("Promise"))(function(e){__(r,t),e(void 0)})}}return T_(t,C_)}(k_(t),e))),void 0===r?function(){}:S_(r,t)},L_=function(t,e,r,n){var i;if(arguments.length<4){if(O_(e)&&"sync-dispose"===r)return;i=D_(e,r)}else i=D_(void 0,r,n);R_(t.stack,i)},j_=ni,N_=a,F_=mt,z_=xm,U_=Jr,B_=ym,$_=Qi,Y_=re,G_=Pr,H_=L_,W_=H("SuppressedError"),q_=ReferenceError,V_=Y_("dispose"),X_=Y_("toStringTag"),K_="DisposableStack",Q_=G_.set,J_=G_.getterFor(K_),Z_="sync-dispose",tE="disposed",eE=function(t){var e=J_(t);if(e.state===tE)throw new q_(K_+" already disposed");return e},rE=function(){Q_(z_(this,nE),{type:K_,state:"pending",stack:[]}),N_||(this.disposed=!1)},nE=rE.prototype;B_(nE,{dispose:function(){var t=J_(this);if(t.state!==tE){t.state=tE,N_||(this.disposed=!0);for(var e,r=t.stack,n=r.length,i=!1;n;){var o=r[--n];r[n]=null;try{o()}catch(t){i?e=new W_(t,e):(i=!0,e=t)}}if(t.stack=null,i)throw e}},use:function(t){return H_(eE(this),t,Z_),t},adopt:function(t,e){var r=eE(this);return F_(e),H_(r,void 0,Z_,function(){e(t)}),t},defer:function(t){var e=eE(this);F_(t),H_(e,void 0,Z_,t)},move:function(){var t=eE(this),e=new rE;return J_(e).stack=t.stack,t.stack=[],t.state=tE,N_||(this.disposed=!0),e}}),N_&&$_(nE,"disposed",{configurable:!0,get:function(){return J_(this).state===tE}}),U_(nE,V_,nE.dispose,{name:"dispose"}),U_(nE,X_,K_,{nonWritable:!0}),j_({global:!0,constructor:!0},{DisposableStack:rE});var iE=ni,oE=A,aE=gi,sE=oE("".charAt),cE=oE("".charCodeAt),lE=oE(/./.exec),uE=oE(1.1.toString),hE=oE("".toUpperCase),fE=/[\w*+\-./@]/,dE=function(t,e){for(var r=uE(t,16);r.length<e;)r="0"+r;return r};iE({global:!0},{escape:function(t){for(var e,r,n=aE(t),i="",o=n.length,a=0;a<o;)e=sE(n,a++),lE(fE,e)?i+=e:i+=(r=cE(e,0))<256?"%"+dE(r,2):"%u"+hE(dE(r,4));return i}});var pE=A,gE=mt,vE=$,yE=$t,mE=Yi,bE=s,xE=Function,wE=pE([].concat),AE=pE([].join),_E={},EE=bE?xE.bind:function(t){var e=gE(this),r=e.prototype,n=mE(arguments,1),i=function(){var r=wE(n,mE(arguments));return this instanceof i?function(t,e,r){if(!yE(_E,e)){for(var n=[],i=0;i<e;i++)n[i]="a["+i+"]";_E[e]=xE("C,a","return new C("+AE(n,",")+")")}return _E[e](t,r)}(e,r.length,r):e.apply(t,r)};return vE(r)&&(i.prototype=r),i},SE=EE;ni({target:"Function",proto:!0,forced:Function.bind!==SE},{bind:SE});var kE=U,ME=$,OE=Te,TE=W,PE=re,IE=Xe.exports,CE=PE("hasInstance"),RE=Function.prototype;CE in RE||OE.f(RE,CE,{value:IE(function(t){if(!kE(this)||!ME(t))return!1;var e=this.prototype;return ME(e)?TE(e,t):t instanceof this},CE)});var DE=a,LE=er.EXISTS,jE=A,NE=Qi,FE=Function.prototype,zE=jE(FE.toString),UE=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,BE=jE(UE.exec);DE&&!LE&&NE(FE,"name",{configurable:!0,get:function(){try{return BE(UE,zE(this))[1]}catch(t){return""}}});var $E=n;ni({global:!0,forced:$E.globalThis!==$E},{globalThis:$E});var YE=ni,GE=n,HE=xm,WE=De,qE=U,VE=Yu,XE=Qi,KE=Cf,QE=o,JE=$t,ZE=zp.IteratorPrototype,tS=a,eS="constructor",rS="Iterator",nS=re("toStringTag"),iS=TypeError,oS=GE[rS],aS=!qE(oS)||oS.prototype!==ZE||!QE(function(){oS({})}),sS=function(){if(HE(this,ZE),VE(this)===ZE)throw new iS("Abstract class Iterator not directly constructable")},cS=function(t,e){tS?XE(ZE,t,{configurable:!0,get:function(){return e},set:function(e){if(WE(this),this===ZE)throw new iS("You can't redefine this property");JE(this,t)?this[t]=e:KE(this,t,e)}}):ZE[t]=e};JE(ZE,nS)||cS(nS,rS),!aS&&JE(ZE,eS)&&ZE[eS]!==Object||cS(eS,sS),sS.prototype=ZE,YE({global:!0,constructor:!0,forced:aS},{Iterator:sS});var lS=hh,uS=u,hS=Bi,fS=Ve,dS=ym,pS=Pr,gS=wt,vS=zp.IteratorPrototype,yS=dg,mS=hh,bS=function(t,e,r){for(var n=t.length-1;n>=0;n--)if(void 0!==t[n])try{r=lS(t[n].iterator,e,r)}catch(t){e="throw",r=t}if("throw"===e)throw r;return r},xS=re("toStringTag"),wS="IteratorHelper",AS="WrapForValidIterator",_S="normal",ES="throw",SS=pS.set,kS=function(t){var e=pS.getterFor(t?AS:wS);return dS(hS(vS),{next:function(){var r=e(this);if(t)return r.nextHandler();if(r.done)return yS(void 0,!0);try{var n=r.nextHandler();return r.returnHandlerResult?n:yS(n,r.done)}catch(t){throw r.done=!0,t}},return:function(){var r=e(this),n=r.iterator;if(r.done=!0,t){var i=gS(n,"return");return i?uS(i,n):yS(void 0,!0)}if(r.inner)try{mS(r.inner.iterator,_S)}catch(t){return mS(n,ES,t)}if(r.openIters)try{bS(r.openIters,_S)}catch(t){return mS(n,ES,t)}return n&&mS(n,_S),yS(void 0,!0)}})},MS=kS(!0),OS=kS(!1);fS(OS,xS,"Iterator Helper");var TS=function(t,e,r){var n=function(n,i){i?(i.iterator=n.iterator,i.next=n.next):i=n,i.type=e?AS:wS,i.returnHandlerResult=!!r,i.nextHandler=t,i.counter=0,i.done=!1,SS(this,i)};return n.prototype=e?MS:OS,n},PS=ni,IS=u,CS=mt,RS=De,DS=th,LS=Array,jS=TS(function(){for(;;){var t=this.iterator;if(!t){var e=this.nextIterableIndex++,r=this.iterables;if(e>=r.length)return void(this.done=!0);var n=r[e];this.iterables[e]=null,t=this.iterator=IS(n.method,n.iterable),this.next=t.next}var i=RS(IS(this.next,t));if(!i.done)return i.value;this.iterator=null,this.next=null}});PS({target:"Iterator",stat:!0},{concat:function(){for(var t=arguments.length,e=LS(t),r=0;r<t;r++){var n=RS(arguments[r]);e[r]={iterable:n,method:CS(DS(n))}}return new jS({iterables:e,nextIterableIndex:0,iterator:null,next:null})}});var NS=u,FS=Jr,zS=wt,US=$t,BS=zp.IteratorPrototype,$S=re("dispose");US(BS,$S)||FS(BS,$S,function(){var t=zS(this,"return");t&&NS(t,this)});var YS=function(t){return{iterator:t,next:t.next,done:!1}},GS=RangeError,HS=function(t){if(t==t)return t;throw new GS("NaN is not allowed")},WS=on,qS=RangeError,VS=function(t){var e=WS(t);if(e<0)throw new qS("The argument can't be less than 0");return e},XS=function(t,e){var r="function"==typeof Iterator&&Iterator.prototype[t];if(r)try{r.call({next:null},e).next()}catch(t){return!0}},KS=n,QS=function(t,e){var r=KS.Iterator,n=r&&r.prototype,i=n&&n[t],o=!1;if(i)try{i.call({next:function(){return{done:!0}},return:function(){o=!0}},-1)}catch(t){t instanceof e||(o=!1)}if(!o)return i},JS=ni,ZS=u,tk=De,ek=YS,rk=HS,nk=VS,ik=hh,ok=TS,ak=QS,sk=!XS("drop",0),ck=!sk&&ak("drop",RangeError),lk=sk||ck,uk=ok(function(){for(var t,e=this.iterator,r=this.next;this.remaining;)if(this.remaining--,t=tk(ZS(r,e)),this.done=!!t.done)return;if(t=tk(ZS(r,e)),!(this.done=!!t.done))return t.value});JS({target:"Iterator",proto:!0,real:!0,forced:lk},{drop:function(t){var e;tk(this);try{e=nk(rk(+t))}catch(t){ik(this,"throw",t)}return ck?ZS(ck,this,e):new uk(ek(this),{remaining:e})}});var hk=ni,fk=u,dk=Sh,pk=mt,gk=De,vk=YS,yk=hh,mk=QS("every",TypeError);hk({target:"Iterator",proto:!0,real:!0,forced:mk},{every:function(t){gk(this);try{pk(t)}catch(t){yk(this,"throw",t)}if(mk)return fk(mk,this,t);var e=vk(this),r=0;return!dk(e,function(e,n){if(!t(e,r++))return n()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}});var bk=ni,xk=u,wk=mt,Ak=De,_k=YS,Ek=TS,Sk=rp,kk=hh,Mk=QS,Ok=!XS("filter",function(){}),Tk=!Ok&&Mk("filter",TypeError),Pk=Ok||Tk,Ik=Ek(function(){for(var t,e,r=this.iterator,n=this.predicate,i=this.next;;){if(t=Ak(xk(i,r)),this.done=!!t.done)return;if(e=t.value,Sk(r,n,[e,this.counter++],!0))return e}});bk({target:"Iterator",proto:!0,real:!0,forced:Pk},{filter:function(t){Ak(this);try{wk(t)}catch(t){kk(this,"throw",t)}return Tk?xk(Tk,this,t):new Ik(_k(this),{predicate:t})}});var Ck=ni,Rk=u,Dk=Sh,Lk=mt,jk=De,Nk=YS,Fk=hh,zk=QS("find",TypeError);Ck({target:"Iterator",proto:!0,real:!0,forced:zk},{find:function(t){jk(this);try{Lk(t)}catch(t){Fk(this,"throw",t)}if(zk)return Rk(zk,this,t);var e=Nk(this),r=0;return Dk(e,function(e,n){if(t(e,r++))return n(e)},{IS_RECORD:!0,INTERRUPTED:!0}).result}});var Uk=u,Bk=De,$k=YS,Yk=th,Gk=function(t,e){e&&"string"==typeof t||Bk(t);var r=Yk(t);return $k(Bk(void 0!==r?Uk(r,t):t))},Hk=ni,Wk=u,qk=mt,Vk=De,Xk=YS,Kk=Gk,Qk=TS,Jk=hh,Zk=QS,tM=!XS("flatMap",function(){}),eM=!tM&&Zk("flatMap",TypeError),rM=tM||eM,nM=Qk(function(){for(var t,e,r=this.iterator,n=this.mapper;;){if(e=this.inner)try{if(!(t=Vk(Wk(e.next,e.iterator))).done)return t.value;this.inner=null}catch(t){Jk(r,"throw",t)}if(t=Vk(Wk(this.next,r)),this.done=!!t.done)return;try{this.inner=Kk(n(t.value,this.counter++),!1)}catch(t){Jk(r,"throw",t)}}});Hk({target:"Iterator",proto:!0,real:!0,forced:rM},{flatMap:function(t){Vk(this);try{qk(t)}catch(t){Jk(this,"throw",t)}return eM?Wk(eM,this,t):new nM(Xk(this),{mapper:t,inner:null})}});var iM=ni,oM=u,aM=Sh,sM=mt,cM=De,lM=YS,uM=hh,hM=QS("forEach",TypeError);iM({target:"Iterator",proto:!0,real:!0,forced:hM},{forEach:function(t){cM(this);try{sM(t)}catch(t){uM(this,"throw",t)}if(hM)return oM(hM,this,t);var e=lM(this),r=0;aM(e,function(e){t(e,r++)},{IS_RECORD:!0})}});var fM=ni,dM=u,pM=zt,gM=W,vM=zp.IteratorPrototype,yM=TS,mM=Gk,bM=function(){try{Iterator.from({return:null}).return()}catch(t){return!0}}(),xM=yM(function(){return dM(this.next,this.iterator)},!0);fM({target:"Iterator",stat:!0,forced:bM},{from:function(t){var e=mM("string"==typeof t?pM(t):t,!0);return gM(vM,e.iterator)?e.iterator:new xM(e)}});var wM=ni,AM=u,_M=mt,EM=De,SM=YS,kM=TS,MM=rp,OM=hh,TM=QS,PM=!XS("map",function(){}),IM=!PM&&TM("map",TypeError),CM=PM||IM,RM=kM(function(){var t=this.iterator,e=EM(AM(this.next,t));if(!(this.done=!!e.done))return MM(t,this.mapper,[e.value,this.counter++],!0)});wM({target:"Iterator",proto:!0,real:!0,forced:CM},{map:function(t){EM(this);try{_M(t)}catch(t){OM(this,"throw",t)}return IM?AM(IM,this,t):new RM(SM(this),{mapper:t})}});var DM=ni,LM=Sh,jM=mt,NM=De,FM=YS,zM=hh,UM=QS,BM=Os,$M=TypeError,YM=o(function(){[].keys().reduce(function(){},void 0)}),GM=!YM&&UM("reduce",$M);DM({target:"Iterator",proto:!0,real:!0,forced:YM||GM},{reduce:function(t){NM(this);try{jM(t)}catch(t){zM(this,"throw",t)}var e=arguments.length<2,r=e?void 0:arguments[1];if(GM)return BM(GM,this,e?[t]:[t,r]);var n=FM(this),i=0;if(LM(n,function(n){e?(e=!1,r=n):r=t(r,n,i),i++},{IS_RECORD:!0}),e)throw new $M("Reduce of empty iterator with no initial value");return r}});var HM=ni,WM=u,qM=Sh,VM=mt,XM=De,KM=YS,QM=hh,JM=QS("some",TypeError);HM({target:"Iterator",proto:!0,real:!0,forced:JM},{some:function(t){XM(this);try{VM(t)}catch(t){QM(this,"throw",t)}if(JM)return WM(JM,this,t);var e=KM(this),r=0;return qM(e,function(e,n){if(t(e,r++))return n()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}});var ZM=ni,tO=u,eO=De,rO=YS,nO=HS,iO=VS,oO=TS,aO=hh,sO=QS("take",RangeError),cO=oO(function(){var t=this.iterator;if(!this.remaining--)return this.done=!0,aO(t,"normal",void 0);var e=eO(tO(this.next,t));return(this.done=!!e.done)?void 0:e.value});ZM({target:"Iterator",proto:!0,real:!0,forced:sO},{take:function(t){var e;eO(this);try{e=iO(nO(+t))}catch(t){aO(this,"throw",t)}return sO?tO(sO,this,e):new cO(rO(this),{remaining:e})}});var lO=De,uO=Sh,hO=YS,fO=[].push;ni({target:"Iterator",proto:!0,real:!0},{toArray:function(){var t=[];return uO(hO(lO(this)),fO,{that:t,IS_RECORD:!0}),t}}),ni({target:"JSON",stat:!0,forced:!Gs},{isRawJSON:Is});var dO=ni,pO=a,gO=n,vO=H,yO=A,mO=u,bO=U,xO=$,wO=Eo,AO=$t,_O=gi,EO=pn,SO=Cf,kO=o,MO=Ys,OO=at,TO=gO.JSON,PO=gO.Number,IO=gO.SyntaxError,CO=TO&&TO.parse,RO=vO("Object","keys"),DO=Object.getOwnPropertyDescriptor,LO=yO("".charAt),jO=yO("".slice),NO=yO(/./.exec),FO=yO([].push),zO=/^\d$/,UO=/^[1-9]$/,BO=/^[\d-]$/,$O=/^[\t\n\r ]$/,YO=function(t,e,r,n){var i,o,a,s,c,l=t[e],u=n&&l===n.value,h=u&&"string"==typeof n.source?{source:n.source}:{};if(xO(l)){var f=wO(l),d=u?n.nodes:f?[]:{};if(f)for(i=d.length,a=EO(l),s=0;s<a;s++)GO(l,s,YO(l,""+s,r,s<i?d[s]:void 0));else for(o=RO(l),a=EO(o),s=0;s<a;s++)c=o[s],GO(l,c,YO(l,c,r,AO(d,c)?d[c]:void 0))}return mO(r,t,e,l,h)},GO=function(t,e,r){if(pO){var n=DO(t,e);if(n&&!n.configurable)return}void 0===r?delete t[e]:SO(t,e,r)},HO=function(t,e,r,n){this.value=t,this.end=e,this.source=r,this.nodes=n},WO=function(t,e){this.source=t,this.index=e};WO.prototype={fork:function(t){return new WO(this.source,t)},parse:function(){var t=this.source,e=this.skip($O,this.index),r=this.fork(e),n=LO(t,e);if(NO(BO,n))return r.number();switch(n){case"{":return r.object();case"[":return r.array();case'"':return r.string();case"t":return r.keyword(!0);case"f":return r.keyword(!1);case"n":return r.keyword(null)}throw new IO('Unexpected character: "'+n+'" at: '+e)},node:function(t,e,r,n,i){return new HO(e,n,t?null:jO(this.source,r,n),i)},object:function(){for(var t=this.source,e=this.index+1,r=!1,n={},i={};e<t.length;){if(e=this.until(['"',"}"],e),"}"===LO(t,e)&&!r){e++;break}var o=this.fork(e).string(),a=o.value;e=o.end,e=this.until([":"],e)+1,e=this.skip($O,e),o=this.fork(e).parse(),SO(i,a,o),SO(n,a,o.value),e=this.until([",","}"],o.end);var s=LO(t,e);if(","===s)r=!0,e++;else if("}"===s){e++;break}}return this.node(1,n,this.index,e,i)},array:function(){for(var t=this.source,e=this.index+1,r=!1,n=[],i=[];e<t.length;){if(e=this.skip($O,e),"]"===LO(t,e)&&!r){e++;break}var o=this.fork(e).parse();if(FO(i,o),FO(n,o.value),e=this.until([",","]"],o.end),","===LO(t,e))r=!0,e++;else if("]"===LO(t,e)){e++;break}}return this.node(1,n,this.index,e,i)},string:function(){var t=this.index,e=MO(this.source,this.index+1);return this.node(0,e.value,t,e.end)},number:function(){var t=this.source,e=this.index,r=e;if("-"===LO(t,r)&&r++,"0"===LO(t,r))r++;else{if(!NO(UO,LO(t,r)))throw new IO("Failed to parse number at: "+r);r=this.skip(zO,r+1)}if(("."===LO(t,r)&&(r=this.skip(zO,r+1)),"e"===LO(t,r)||"E"===LO(t,r))&&(r++,"+"!==LO(t,r)&&"-"!==LO(t,r)||r++,r===(r=this.skip(zO,r))))throw new IO("Failed to parse number's exponent value at: "+r);return this.node(0,PO(jO(t,e,r)),e,r)},keyword:function(t){var e=""+t,r=this.index,n=r+e.length;if(jO(this.source,r,n)!==e)throw new IO("Failed to parse value at: "+r);return this.node(0,t,r,n)},skip:function(t,e){for(var r=this.source;e<r.length&&NO(t,LO(r,e));e++);return e},until:function(t,e){e=this.skip($O,e);for(var r=LO(this.source,e),n=0;n<t.length;n++)if(t[n]===r)return e;throw new IO('Unexpected character: "'+r+'" at: '+e)}};var qO=kO(function(){var t,e="9007199254740993";return CO(e,function(e,r,n){t=n.source}),t!==e}),VO=OO&&!kO(function(){return 1/CO("-0 \t")!=-1/0});dO({target:"JSON",stat:!0,forced:qO},{parse:function(t,e){return VO&&!bO(e)?CO(t):function(t,e){t=_O(t);var r=new WO(t,0),n=r.parse(),i=n.value,o=r.skip($O,n.end);if(o<t.length)throw new IO('Unexpected extra character: "'+LO(t,o)+'" after the parsed data at: '+o);return bO(e)?YO({"":i},"",e,n):i}(t,e)}});var XO=!o(function(){return Object.isExtensible(Object.preventExtensions({}))}),KO=ni,QO=XO,JO=Gs,ZO=H,tT=A,eT=gi,rT=Cf,nT=Pr.set,iT=SyntaxError,oT=ZO("JSON","parse"),aT=ZO("Object","create"),sT=ZO("Object","freeze"),cT=tT("".charAt),lT="Unacceptable as raw JSON",uT=function(t){return" "===t||"\t"===t||"\n"===t||"\r"===t};KO({target:"JSON",stat:!0,forced:!JO},{rawJSON:function(t){var e=eT(t);if(""===e||uT(cT(e,0))||uT(cT(e,e.length-1)))throw new iT(lT);var r=oT(e);if("object"==typeof r&&null!==r)throw new iT(lT);var n=aT(null);return nT(n,{type:"RawJSON"}),rT(n,"rawJSON",e),QO?sT(n):n}}),go(n.JSON,"JSON",!0);var hT={exports:{}},fT=o(function(){if("function"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,"a",{value:8})}}),dT=o,pT=$,gT=k,vT=fT,yT=Object.isExtensible,mT=dT(function(){yT(1)})||vT?function(t){return!!pT(t)&&((!vT||"ArrayBuffer"!==gT(t))&&(!yT||yT(t)))}:yT,bT=ni,xT=A,wT=vr,AT=$,_T=$t,ET=Te.f,ST=Zr,kT=$i,MT=mT,OT=XO,TT=!1,PT=qt("meta"),IT=0,CT=function(t){ET(t,PT,{value:{objectID:"O"+IT++,weakData:{}}})},RT=hT.exports={enable:function(){RT.enable=function(){},TT=!0;var t=ST.f,e=xT([].splice),r={};r[PT]=1,t(r).length&&(ST.f=function(r){for(var n=t(r),i=0,o=n.length;i<o;i++)if(n[i]===PT){e(n,i,1);break}return n},bT({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:kT.f}))},fastKey:function(t,e){if(!AT(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!_T(t,PT)){if(!MT(t))return"F";if(!e)return"E";CT(t)}return t[PT].objectID},getWeakData:function(t,e){if(!_T(t,PT)){if(!MT(t))return!0;if(!e)return!1;CT(t)}return t[PT].weakData},onFreeze:function(t){return OT&&TT&&MT(t)&&!_T(t,PT)&&CT(t),t}};wT[PT]=!0;var DT=ni,LT=n,jT=A,NT=Xn,FT=Jr,zT=hT.exports,UT=Sh,BT=xm,$T=U,YT=C,GT=$,HT=o,WT=bp,qT=go,VT=Ol,XT=function(t,e,r){var n=-1!==t.indexOf("Map"),i=-1!==t.indexOf("Weak"),o=n?"set":"add",a=LT[t],s=a&&a.prototype,c=a,l={},u=function(t){var e=jT(s[t]);FT(s,t,"add"===t?function(t){return e(this,0===t?0:t),this}:"delete"===t?function(t){return!(i&&!GT(t))&&e(this,0===t?0:t)}:"get"===t?function(t){return i&&!GT(t)?void 0:e(this,0===t?0:t)}:"has"===t?function(t){return!(i&&!GT(t))&&e(this,0===t?0:t)}:function(t,r){return e(this,0===t?0:t,r),this})};if(NT(t,!$T(a)||!(i||s.forEach&&!HT(function(){(new a).entries().next()}))))c=r.getConstructor(e,t,n,o),zT.enable();else if(NT(t,!0)){var h=new c,f=h[o](i?{}:-0,1)!==h,d=HT(function(){h.has(1)}),p=WT(function(t){new a(t)}),g=!i&&HT(function(){for(var t=new a,e=5;e--;)t[o](e,e);return!t.has(-0)});p||((c=e(function(t,e){BT(t,s);var r=VT(new a,t,c);return YT(e)||UT(e,r[o],{that:r,AS_ENTRIES:n}),r})).prototype=s,s.constructor=c),(d||g)&&(u("delete"),u("has"),n&&u("get")),(g||f)&&u(o),i&&s.clear&&delete s.clear}return l[t]=c,DT({global:!0,constructor:!0,forced:c!==a},l),qT(c,t),i||r.setStrong(c,t,n),c},KT=Bi,QT=Qi,JT=ym,ZT=Ao,tP=xm,eP=C,rP=Sh,nP=fg,iP=dg,oP=vy,aP=a,sP=hT.exports.fastKey,cP=Pr.set,lP=Pr.getterFor,uP={getConstructor:function(t,e,r,n){var i=t(function(t,i){tP(t,o),cP(t,{type:e,index:KT(null),first:null,last:null,size:0}),aP||(t.size=0),eP(i)||rP(i,t[n],{that:t,AS_ENTRIES:r})}),o=i.prototype,a=lP(e),s=function(t,e,r){var n,i,o=a(t),s=c(t,e);return s?s.value=r:(o.last=s={index:i=sP(e,!0),key:e,value:r,previous:n=o.last,next:null,removed:!1},o.first||(o.first=s),n&&(n.next=s),aP?o.size++:t.size++,"F"!==i&&(o.index[i]=s)),t},c=function(t,e){var r,n=a(t),i=sP(e);if("F"!==i)return n.index[i];for(r=n.first;r;r=r.next)if(r.key===e)return r};return JT(o,{clear:function(){for(var t=a(this),e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=null),e=e.next;t.first=t.last=null,t.index=KT(null),aP?t.size=0:this.size=0},delete:function(t){var e=this,r=a(e),n=c(e,t);if(n){var i=n.next,o=n.previous;delete r.index[n.index],n.removed=!0,o&&(o.next=i),i&&(i.previous=o),r.first===n&&(r.first=i),r.last===n&&(r.last=o),aP?r.size--:e.size--}return!!n},forEach:function(t){for(var e,r=a(this),n=ZT(t,arguments.length>1?arguments[1]:void 0);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!c(this,t)}}),JT(o,r?{get:function(t){var e=c(this,t);return e&&e.value},set:function(t,e){return s(this,0===t?0:t,e)}}:{add:function(t){return s(this,t=0===t?0:t,t)}}),aP&&QT(o,"size",{configurable:!0,get:function(){return a(this).size}}),i},setStrong:function(t,e,r){var n=e+" Iterator",i=lP(e),o=lP(n);nP(t,e,function(t,e){cP(this,{type:n,target:t,state:i(t),kind:e,last:null})},function(){for(var t=o(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?iP("keys"===e?r.key:"values"===e?r.value:[r.key,r.value],!1):(t.target=null,iP(void 0,!0))},r?"entries":"values",!r,!0),oP(e)}};XT("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},uP);var hP=A,fP=Map.prototype,dP={Map:Map,set:hP(fP.set),get:hP(fP.get),has:hP(fP.has),remove:hP(fP.delete),proto:fP},pP=ni,gP=mt,vP=L,yP=Sh,mP=o,bP=dP.Map,xP=dP.has,wP=dP.get,AP=dP.set,_P=A([].push);pP({target:"Map",stat:!0,forced:mP(function(){return 1!==bP.groupBy("ab",function(t){return t}).get("a").length})},{groupBy:function(t,e){vP(t),gP(e);var r=new bP,n=0;return yP(t,function(t){var i=e(t,n++);xP(r,i)?_P(wP(r,i),t):AP(r,i,[t])}),r}});var EP=Math.log,SP=Math.log1p||function(t){var e=+t;return e>-1e-8&&e<1e-8?e-e*e/2:EP(1+e)},kP=ni,MP=SP,OP=Math.acosh,TP=Math.log,PP=Math.sqrt,IP=Math.LN2;kP({target:"Math",stat:!0,forced:!OP||710!==Math.floor(OP(Number.MAX_VALUE))||OP(1/0)!==1/0},{acosh:function(t){var e=+t;return e<1?NaN:e>94906265.62425156?TP(e)+IP:MP(e-1+PP(e-1)*PP(e+1))}});var CP=ni,RP=Math.asinh,DP=Math.log,LP=Math.sqrt;CP({target:"Math",stat:!0,forced:!(RP&&1/RP(0)>0)},{asinh:function t(e){var r=+e;return isFinite(r)&&0!==r?r<0?-t(-r):DP(r+LP(r*r+1)):r}});var jP=ni,NP=Math.atanh,FP=Math.log;jP({target:"Math",stat:!0,forced:!(NP&&1/NP(-0)<0)},{atanh:function(t){var e=+t;return 0===e?e:FP((1+e)/(1-e))/2}});var zP=ni,UP=Sm,BP=Math.abs,$P=Math.pow;zP({target:"Math",stat:!0},{cbrt:function(t){var e=+t;return UP(e)*$P(BP(e),1/3)}});var YP=ni,GP=Math.floor,HP=Math.log,WP=Math.LOG2E;YP({target:"Math",stat:!0},{clz32:function(t){var e=t>>>0;return e?31-GP(HP(e+.5)*WP):32}});var qP=Math.expm1,VP=Math.exp,XP=!qP||qP(10)>22025.465794806718||qP(10)<22025.465794806718||-2e-17!==qP(-2e-17)?function(t){var e=+t;return 0===e?e:e>-1e-6&&e<1e-6?e+e*e/2:VP(e)-1}:qP,KP=ni,QP=XP,JP=Math.cosh,ZP=Math.abs,tI=Math.E;KP({target:"Math",stat:!0,forced:!JP||JP(710)===1/0},{cosh:function(t){var e=QP(ZP(t)-1)+1;return(e+1/(e*tI*tI))*(tI/2)}});var eI=XP;ni({target:"Math",stat:!0,forced:eI!==Math.expm1},{expm1:eI}),ni({target:"Math",stat:!0},{fround:Rm});var rI=Im;ni({target:"Math",stat:!0},{f16round:function(t){return rI(t,.0009765625,65504,6103515625e-14)}});var nI=ni,iI=Math.hypot,oI=Math.abs,aI=Math.sqrt;nI({target:"Math",stat:!0,arity:2,forced:!!iI&&iI(1/0,NaN)!==1/0},{hypot:function(t,e){for(var r,n,i=0,o=0,a=arguments.length,s=0;o<a;)s<(r=oI(arguments[o++]))?(i=i*(n=s/r)*n+1,s=r):i+=r>0?(n=r/s)*n:r;return s===1/0?1/0:s*aI(i)}});var sI=ni,cI=o,lI=Math.imul;sI({target:"Math",stat:!0,forced:cI(function(){return-5!==lI(4294967295,5)||2!==lI.length})},{imul:function(t,e){var r=65535,n=+t,i=+e,o=r&n,a=r&i;return 0|o*a+((r&n>>>16)*a+o*(r&i>>>16)<<16>>>0)}});var uI=Math.log,hI=Math.LOG10E,fI=Math.log10||function(t){return uI(t)*hI};ni({target:"Math",stat:!0},{log10:fI}),ni({target:"Math",stat:!0},{log1p:SP}),ni({target:"Math",stat:!0},{log2:Zx}),ni({target:"Math",stat:!0},{sign:Sm});var dI=ni,pI=o,gI=XP,vI=Math.abs,yI=Math.exp,mI=Math.E;dI({target:"Math",stat:!0,forced:pI(function(){return-2e-17!==Math.sinh(-2e-17)})},{sinh:function(t){var e=+t;return vI(e)<1?(gI(e)-gI(-e))/2:(yI(e-1)-yI(-e-1))*(mI/2)}});var bI=ni,xI=A,wI=Sh,AI=RangeError,_I=TypeError,EI=1/0,SI=Math.abs,kI=Math.pow,MI=xI([].push),OI=kI(2,1023),TI=kI(2,53)-1,PI=Number.MAX_VALUE,II=kI(2,971),CI={},RI={},DI={},LI={},jI={},NI=function(t,e){var r=t+e;return{hi:r,lo:e-(r-t)}};bI({target:"Math",stat:!0},{sumPrecise:function(t){var e=[],r=0,n=LI;switch(wI(t,function(t){if(++r>=TI)throw new AI("Maximum allowed index exceeded");if("number"!=typeof t)throw new _I("Value is not a number");n!==CI&&(t!=t?n=CI:t===EI?n=n===RI?CI:DI:t===-1/0?n=n===DI?CI:RI:0===t&&1/t!==EI||n!==LI&&n!==jI||(n=jI,MI(e,t)))}),n){case CI:return NaN;case RI:return-1/0;case DI:return EI;case LI:return-0}for(var i,o,a,s,c,l,u=[],h=0,f=0;f<e.length;f++){i=e[f];for(var d=0,p=0;p<u.length;p++){if(o=u[p],SI(i)<SI(o)&&(l=i,i=o,o=l),s=(a=NI(i,o)).hi,c=a.lo,SI(s)===EI){var g=s===EI?1:-1;h+=g,SI(i=i-g*OI-g*OI)<SI(o)&&(l=i,i=o,o=l),s=(a=NI(i,o)).hi,c=a.lo}0!==c&&(u[d++]=c),i=s}u.length=d,0!==i&&MI(u,i)}var v=u.length-1;if(s=0,c=0,0!==h){var y=v>=0?u[v]:0;if(v--,SI(h)>1||h>0&&y>0||h<0&&y<0)return h>0?EI:-1/0;if(s=(a=NI(h*OI,y/2)).hi,c=a.lo,c*=2,SI(2*s)===EI)return s>0?s===OI&&c===-II/2&&v>=0&&u[v]<0?PI:EI:s===-OI&&c===II/2&&v>=0&&u[v]>0?-PI:-1/0;0!==c&&(u[++v]=c,c=0),s*=2}for(;v>=0&&(s=(a=NI(s,u[v--])).hi,0===(c=a.lo)););return v>=0&&(c<0&&u[v]<0||c>0&&u[v]>0)&&(o=2*c)===(i=s+o)-s&&(s=i),s}});var FI=ni,zI=XP,UI=Math.exp;FI({target:"Math",stat:!0},{tanh:function(t){var e=+t,r=zI(e),n=zI(-e);return r===1/0?1:n===1/0?-1:(r-n)/(UI(e)+UI(-e))}}),go(Math,"Math",!0),ni({target:"Math",stat:!0},{trunc:rn});var BI=A(1.1.valueOf),$I="\t\n\v\f\r \u2028\u2029\ufeff",YI=L,GI=gi,HI=$I,WI=A("".replace),qI=RegExp("^["+HI+"]+"),VI=RegExp("(^|[^"+HI+"])["+HI+"]+$"),XI=function(t){return function(e){var r=GI(YI(e));return 1&t&&(r=WI(r,qI,"")),2&t&&(r=WI(r,VI,"$1")),r}},KI={start:XI(1),end:XI(2),trim:XI(3)},QI=ni,JI=a,ZI=n,tC=to,eC=A,rC=Xn,nC=$t,iC=Ol,oC=W,aC=ft,sC=ue,cC=o,lC=Zr.f,uC=i.f,hC=Te.f,fC=BI,dC=KI.trim,pC="Number",gC=ZI[pC];tC[pC];var vC=gC.prototype,yC=ZI.TypeError,mC=eC("".slice),bC=eC("".charCodeAt),xC=function(t){var e,r,n,i,o,a,s,c,l=sC(t,"number");if(aC(l))throw new yC("Cannot convert a Symbol value to a number");if("string"==typeof l&&l.length>2)if(l=dC(l),43===(e=bC(l,0))||45===e){if(88===(r=bC(l,2))||120===r)return NaN}else if(48===e){switch(bC(l,1)){case 66:case 98:n=2,i=49;break;case 79:case 111:n=8,i=55;break;default:return+l}for(a=(o=mC(l,2)).length,s=0;s<a;s++)if((c=bC(o,s))<48||c>i)return NaN;return parseInt(o,n)}return+l},wC=rC(pC,!gC(" 0o1")||!gC("0b1")||gC("+0x1")),AC=function(t){var e,r=arguments.length<1?0:gC(function(t){var e=sC(t,"number");return"bigint"==typeof e?e:xC(e)}(t));return oC(vC,e=this)&&cC(function(){fC(e)})?iC(Object(r),this,AC):r};AC.prototype=vC,wC&&(vC.constructor=AC),QI({global:!0,constructor:!0,wrap:!0,forced:wC},{Number:AC});wC&&function(t,e){for(var r,n=JI?lC(e):"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(","),i=0;n.length>i;i++)nC(e,r=n[i])&&!nC(t,r)&&hC(t,r,uC(e,r))}(tC[pC],gC),ni({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)});var _C=n.isFinite;ni({target:"Number",stat:!0},{isFinite:Number.isFinite||function(t){return"number"==typeof t&&_C(t)}});var EC=$,SC=Math.floor,kC=Number.isInteger||function(t){return!EC(t)&&isFinite(t)&&SC(t)===t};ni({target:"Number",stat:!0},{isInteger:kC}),ni({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var MC=ni,OC=kC,TC=Math.abs;MC({target:"Number",stat:!0},{isSafeInteger:function(t){return OC(t)&&TC(t)<=9007199254740991}}),ni({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991}),ni({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991});var PC=n,IC=o,CC=gi,RC=KI.trim,DC=$I,LC=A("".charAt),jC=PC.parseFloat,NC=PC.Symbol,FC=NC&&NC.iterator,zC=1/jC(DC+"-0")!=-1/0||FC&&!IC(function(){jC(Object(FC))})?function(t){var e=RC(CC(t)),r=jC(e);return 0===r&&"-"===LC(e,0)?-0:r}:jC,UC=zC;ni({target:"Number",stat:!0,forced:Number.parseFloat!==UC},{parseFloat:UC});var BC=n,$C=o,YC=A,GC=gi,HC=KI.trim,WC=$I,qC=BC.parseInt,VC=BC.Symbol,XC=VC&&VC.iterator,KC=/^[+-]?0x/i,QC=YC(KC.exec),JC=8!==qC(WC+"08")||22!==qC(WC+"0x16")||XC&&!$C(function(){qC(Object(XC))})?function(t,e){var r=HC(GC(t));return qC(r,e>>>0||(QC(KC,r)?16:10))}:qC,ZC=JC;ni({target:"Number",stat:!0,forced:Number.parseInt!==ZC},{parseInt:ZC});var tR=ni,eR=A,rR=on,nR=BI,iR=IA,oR=fI,aR=o,sR=RangeError,cR=String,lR=isFinite,uR=Math.abs,hR=Math.floor,fR=Math.pow,dR=Math.round,pR=eR(1.1.toExponential),gR=eR(iR),vR=eR("".slice),yR="-6.9000e-11"===pR(-69e-12,4)&&"1.25e+0"===pR(1.255,2)&&"1.235e+4"===pR(12345,3)&&"3e+1"===pR(25,0);tR({target:"Number",proto:!0,forced:!yR||!(aR(function(){pR(1,1/0)})&&aR(function(){pR(1,-1/0)}))||!!aR(function(){pR(1/0,1/0),pR(NaN,1/0)})},{toExponential:function(t){var e=nR(this);if(void 0===t)return pR(e);var r=rR(t);if(!lR(e))return String(e);if(r<0||r>20)throw new sR("Incorrect fraction digits");if(yR)return pR(e,r);var n,i,o,a,s="";if(e<0&&(s="-",e=-e),0===e)i=0,n=gR("0",r+1);else{var c=oR(e);i=hR(c);var l=fR(10,i-r),u=dR(e/l);2*e>=(2*u+1)*l&&(u+=1),u>=fR(10,r+1)&&(u/=10,i+=1),n=cR(u)}return 0!==r&&(n=vR(n,0,1)+"."+vR(n,1)),0===i?(o="+",a="0"):(o=i>0?"+":"-",a=cR(uR(i))),s+(n+="e"+o+a)}});var mR=ni,bR=A,xR=on,wR=BI,AR=IA,_R=o,ER=RangeError,SR=String,kR=Math.floor,MR=bR(AR),OR=bR("".slice),TR=bR(1.1.toFixed),PR=function(t,e,r){return 0===e?r:e%2==1?PR(t,e-1,r*t):PR(t*t,e/2,r)},IR=function(t,e,r){for(var n=-1,i=r;++n<6;)i+=e*t[n],t[n]=i%1e7,i=kR(i/1e7)},CR=function(t,e){for(var r=6,n=0;--r>=0;)n+=t[r],t[r]=kR(n/e),n=n%e*1e7},RR=function(t){for(var e=6,r="";--e>=0;)if(""!==r||0===e||0!==t[e]){var n=SR(t[e]);r=""===r?n:r+MR("0",7-n.length)+n}return r};mR({target:"Number",proto:!0,forced:_R(function(){return"0.000"!==TR(8e-5,3)||"1"!==TR(.9,0)||"1.25"!==TR(1.255,2)||"1000000000000000128"!==TR(0xde0b6b3a7640080,0)})||!_R(function(){TR({})})},{toFixed:function(t){var e,r,n,i,o=wR(this),a=xR(t),s=[0,0,0,0,0,0],c="",l="0";if(a<0||a>20)throw new ER("Incorrect fraction digits");if(o!=o)return"NaN";if(o<=-1e21||o>=1e21)return SR(o);if(o<0&&(c="-",o=-o),o>1e-21)if(e=function(t){for(var e=0,r=t;r>=4096;)e+=12,r/=4096;for(;r>=2;)e+=1,r/=2;return e}(o*PR(2,69,1))-69,r=e<0?o*PR(2,-e,1):o/PR(2,e,1),r*=4503599627370496,(e=52-e)>0){for(IR(s,0,r),n=a;n>=7;)IR(s,1e7,0),n-=7;for(IR(s,PR(10,n,1),0),n=e-1;n>=23;)CR(s,1<<23),n-=23;CR(s,1<<n),IR(s,1,1),CR(s,2),l=RR(s)}else IR(s,0,r),IR(s,1<<-e,0),l=RR(s)+MR("0",a);return l=a>0?c+((i=l.length)<=a?"0."+MR("0",a-i)+l:OR(l,0,i-a)+"."+OR(l,i-a)):c+l}});var DR=ni,LR=o,jR=BI,NR=A(1.1.toPrecision);DR({target:"Number",proto:!0,forced:LR(function(){return"1"!==NR(1,void 0)})||!LR(function(){NR({})})},{toPrecision:function(t){return void 0===t?NR(jR(this)):NR(jR(this),t)}});var FR=a,zR=A,UR=u,BR=o,$R=bi,YR=Tn,GR=h,HR=zt,WR=I,qR=Object.assign,VR=Object.defineProperty,XR=zR([].concat),KR=!qR||BR(function(){if(FR&&1!==qR({b:1},qR(VR({},"a",{enumerable:!0,get:function(){VR(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol("assign detection"),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach(function(t){e[t]=t}),7!==qR({},t)[r]||$R(qR({},e)).join("")!==n})?function(t,e){for(var r=HR(t),n=arguments.length,i=1,o=YR.f,a=GR.f;n>i;)for(var s,c=WR(arguments[i++]),l=o?XR($R(c),o(c)):$R(c),u=l.length,h=0;u>h;)s=l[h++],FR&&!UR(a,c,s)||(r[s]=c[s]);return r}:qR,QR=KR;ni({target:"Object",stat:!0,arity:2,forced:Object.assign!==QR},{assign:QR}),ni({target:"Object",stat:!0,sham:!a},{create:Bi});var JR=n,ZR=Gv,tD=!o(function(){if(!(ZR&&ZR<535)){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete JR[t]}}),eD=mt,rD=zt,nD=Te;a&&ni({target:"Object",proto:!0,forced:tD},{__defineGetter__:function(t,e){nD.f(rD(this),t,{get:eD(e),enumerable:!0,configurable:!0})}});var iD=ni,oD=a,aD=vi.f;iD({target:"Object",stat:!0,forced:Object.defineProperties!==aD,sham:!oD},{defineProperties:aD});var sD=ni,cD=a,lD=Te.f;sD({target:"Object",stat:!0,forced:Object.defineProperty!==lD,sham:!cD},{defineProperty:lD});var uD=mt,hD=zt,fD=Te;a&&ni({target:"Object",proto:!0,forced:tD},{__defineSetter__:function(t,e){fD.f(hD(this),t,{set:uD(e),enumerable:!0,configurable:!0})}});var dD=a,pD=o,gD=A,vD=Yu,yD=bi,mD=F,bD=gD(h.f),xD=gD([].push),wD=dD&&pD(function(){var t=Object.create(null);return t[2]=2,!bD(t,2)}),AD=function(t){return function(e){for(var r,n=mD(e),i=yD(n),o=wD&&null===vD(n),a=i.length,s=0,c=[];a>s;)r=i[s++],dD&&!(o?r in n:bD(n,r))||xD(c,t?[r,n[r]]:n[r]);return c}},_D={entries:AD(!0),values:AD(!1)},ED=_D.entries;ni({target:"Object",stat:!0},{entries:function(t){return ED(t)}});var SD=ni,kD=XO,MD=o,OD=$,TD=hT.exports.onFreeze,PD=Object.freeze;SD({target:"Object",stat:!0,forced:MD(function(){PD(1)}),sham:!kD},{freeze:function(t){return PD&&OD(t)?PD(TD(t)):t}});var ID=Sh,CD=Cf;ni({target:"Object",stat:!0},{fromEntries:function(t){var e={};return ID(t,function(t,r){CD(e,t,r)},{AS_ENTRIES:!0}),e}});var RD=ni,DD=o,LD=F,jD=i.f,ND=a;RD({target:"Object",stat:!0,forced:!ND||DD(function(){jD(1)}),sham:!ND},{getOwnPropertyDescriptor:function(t,e){return jD(LD(t),e)}});var FD=Ln,zD=F,UD=i,BD=Cf;ni({target:"Object",stat:!0,sham:!a},{getOwnPropertyDescriptors:function(t){for(var e,r,n=zD(t),i=UD.f,o=FD(n),a={},s=0;o.length>s;)void 0!==(r=i(n,e=o[s++]))&&BD(a,e,r);return a}});var $D=ni,YD=o,GD=$i.f;$D({target:"Object",stat:!0,forced:YD(function(){return!Object.getOwnPropertyNames(1)})},{getOwnPropertyNames:GD});var HD=zt,WD=Yu,qD=Lu;ni({target:"Object",stat:!0,forced:o(function(){WD(1)}),sham:!qD},{getPrototypeOf:function(t){return WD(HD(t))}});var VD=ni,XD=Cf,KD=H,QD=A,JD=mt,ZD=L,tL=de,eL=Sh,rL=o,nL=Object.groupBy,iL=KD("Object","create"),oL=QD([].push);VD({target:"Object",stat:!0,forced:!nL||rL(function(){return 1!==nL("ab",function(t){return t}).a.length})},{groupBy:function(t,e){ZD(t),JD(e);var r=iL(null),n=0;return eL(t,function(t){var i=tL(e(t,n++));i in r?oL(r[i],t):XD(r,i,[t])}),r}}),ni({target:"Object",stat:!0},{hasOwn:$t});var aL=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};ni({target:"Object",stat:!0},{is:aL});var sL=mT;ni({target:"Object",stat:!0,forced:Object.isExtensible!==sL},{isExtensible:sL});var cL=ni,lL=o,uL=$,hL=k,fL=fT,dL=Object.isFrozen;cL({target:"Object",stat:!0,forced:fL||lL(function(){dL(1)})},{isFrozen:function(t){return!uL(t)||(!(!fL||"ArrayBuffer"!==hL(t))||!!dL&&dL(t))}});var pL=ni,gL=o,vL=$,yL=k,mL=fT,bL=Object.isSealed;pL({target:"Object",stat:!0,forced:mL||gL(function(){bL(1)})},{isSealed:function(t){return!vL(t)||(!(!mL||"ArrayBuffer"!==yL(t))||!!bL&&bL(t))}});var xL=zt,wL=bi;ni({target:"Object",stat:!0,forced:o(function(){wL(1)})},{keys:function(t){return wL(xL(t))}});var AL=ni,_L=a,EL=tD,SL=zt,kL=de,ML=Yu,OL=i.f;_L&&AL({target:"Object",proto:!0,forced:EL},{__lookupGetter__:function(t){var e,r=SL(this),n=kL(t);do{if(e=OL(r,n))return e.get}while(r=ML(r))}});var TL=ni,PL=a,IL=tD,CL=zt,RL=de,DL=Yu,LL=i.f;PL&&TL({target:"Object",proto:!0,forced:IL},{__lookupSetter__:function(t){var e,r=CL(this),n=RL(t);do{if(e=LL(r,n))return e.set}while(r=DL(r))}});var jL=ni,NL=$,FL=hT.exports.onFreeze,zL=XO,UL=o,BL=Object.preventExtensions;jL({target:"Object",stat:!0,forced:UL(function(){BL(1)}),sham:!zL},{preventExtensions:function(t){return BL&&NL(t)?BL(FL(t)):t}});var $L=a,YL=Qi,GL=$,HL=dl,WL=zt,qL=L,VL=Object.getPrototypeOf,XL=Object.setPrototypeOf,KL=Object.prototype,QL="__proto__";if($L&&VL&&XL&&!(QL in KL))try{YL(KL,QL,{configurable:!0,get:function(){return VL(WL(this))},set:function(t){var e=qL(this);HL(t)&&GL(e)&&XL(e,t)}})}catch(t){}var JL=ni,ZL=$,tj=hT.exports.onFreeze,ej=XO,rj=o,nj=Object.seal;JL({target:"Object",stat:!0,forced:rj(function(){nj(1)}),sham:!ej},{seal:function(t){return nj&&ZL(t)?nj(tj(t)):t}}),ni({target:"Object",stat:!0},{setPrototypeOf:Al});var ij=fi,oj=oi?{}.toString:function(){return"[object "+ij(this)+"]"};oi||Jr(Object.prototype,"toString",oj,{unsafe:!0});var aj=_D.values;ni({target:"Object",stat:!0},{values:function(t){return aj(t)}});ni({global:!0,forced:parseFloat!==zC},{parseFloat:zC});ni({global:!0,forced:parseInt!==JC},{parseInt:JC});var sj,cj,lj,uj,hj=No,fj=pt,dj=TypeError,pj=function(t){if(hj(t))return t;throw new dj(fj(t)+" is not a constructor")},gj=De,vj=pj,yj=C,mj=re("species"),bj=function(t,e){var r,n=gj(t).constructor;return void 0===n||yj(r=gj(n)[mj])?e:vj(r)},xj=TypeError,wj=function(t,e){if(t<e)throw new xj("Not enough arguments");return t},Aj=/(?:ipad|iphone|ipod).*applewebkit/i.test(X),_j=n,Ej=Os,Sj=Ao,kj=U,Mj=$t,Oj=o,Tj=Mi,Pj=Yi,Ij=ye,Cj=wj,Rj=Aj,Dj=pv,Lj=_j.setImmediate,jj=_j.clearImmediate,Nj=_j.process,Fj=_j.Dispatch,zj=_j.Function,Uj=_j.MessageChannel,Bj=_j.String,$j=0,Yj={},Gj="onreadystatechange";Oj(function(){sj=_j.location});var Hj=function(t){if(Mj(Yj,t)){var e=Yj[t];delete Yj[t],e()}},Wj=function(t){return function(){Hj(t)}},qj=function(t){Hj(t.data)},Vj=function(t){_j.postMessage(Bj(t),sj.protocol+"//"+sj.host)};Lj&&jj||(Lj=function(t){Cj(arguments.length,1);var e=kj(t)?t:zj(t),r=Pj(arguments,1);return Yj[++$j]=function(){Ej(e,void 0,r)},cj($j),$j},jj=function(t){delete Yj[t]},Dj?cj=function(t){Nj.nextTick(Wj(t))}:Fj&&Fj.now?cj=function(t){Fj.now(Wj(t))}:Uj&&!Rj?(uj=(lj=new Uj).port2,lj.port1.onmessage=qj,cj=Sj(uj.postMessage,uj)):_j.addEventListener&&kj(_j.postMessage)&&!_j.importScripts&&sj&&"file:"!==sj.protocol&&!Oj(Vj)?(cj=Vj,_j.addEventListener("message",qj,!1)):cj=Gj in Ij("script")?function(t){Tj.appendChild(Ij("script"))[Gj]=function(){Tj.removeChild(this),Hj(t)}}:function(t){setTimeout(Wj(t),0)});var Xj={set:Lj,clear:jj},Kj=n,Qj=a,Jj=Object.getOwnPropertyDescriptor,Zj=function(t){if(!Qj)return Kj[t];var e=Jj(Kj,t);return e&&e.value},tN=function(){this.head=null,this.tail=null};tN.prototype={add:function(t){var e={item:t,next:null},r=this.tail;r?r.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}};var eN,rN,nN,iN,oN,aN=tN,sN=/ipad|iphone|ipod/i.test(X)&&"undefined"!=typeof Pebble,cN=/web0s(?!.*chrome)/i.test(X),lN=n,uN=Zj,hN=Ao,fN=Xj.set,dN=aN,pN=Aj,gN=sN,vN=cN,yN=pv,mN=lN.MutationObserver||lN.WebKitMutationObserver,bN=lN.document,xN=lN.process,wN=lN.Promise,AN=uN("queueMicrotask");if(!AN){var _N=new dN,EN=function(){var t,e;for(yN&&(t=xN.domain)&&t.exit();e=_N.get();)try{e()}catch(t){throw _N.head&&eN(),t}t&&t.enter()};pN||yN||vN||!mN||!bN?!gN&&wN&&wN.resolve?((iN=wN.resolve(void 0)).constructor=wN,oN=hN(iN.then,iN),eN=function(){oN(EN)}):yN?eN=function(){xN.nextTick(EN)}:(fN=hN(fN,lN),eN=function(){fN(EN)}):(rN=!0,nN=bN.createTextNode(""),new mN(EN).observe(nN,{characterData:!0}),eN=function(){nN.data=rN=!rN}),AN=function(t){_N.head||eN(),_N.add(t)}}var SN=AN,kN=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},MN=n.Promise,ON=n,TN=MN,PN=U,IN=Xn,CN=lr,RN=re,DN=dv,LN=rt;TN&&TN.prototype;var jN=RN("species"),NN=!1,FN=PN(ON.PromiseRejectionEvent),zN=IN("Promise",function(){var t=CN(TN),e=t!==String(TN);if(!e&&66===LN)return!0;if(!LN||LN<51||!/native code/.test(t)){var r=new TN(function(t){t(1)}),n=function(t){t(function(){},function(){})};if((r.constructor={})[jN]=n,!(NN=r.then(function(){})instanceof n))return!0}return!(e||"BROWSER"!==DN&&"DENO"!==DN||FN)}),UN={CONSTRUCTOR:zN,REJECTION_EVENT:FN,SUBCLASSING:NN},BN={},$N=mt,YN=TypeError,GN=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw new YN("Bad Promise constructor");e=t,r=n}),this.resolve=$N(e),this.reject=$N(r)};BN.f=function(t){return new GN(t)};var HN,WN,qN,VN,XN=ni,KN=pv,QN=n,JN=to,ZN=u,tF=Jr,eF=Al,rF=go,nF=vy,iF=mt,oF=U,aF=$,sF=xm,cF=bj,lF=Xj.set,uF=SN,hF=function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(t){}},fF=kN,dF=aN,pF=Pr,gF=MN,vF=BN,yF="Promise",mF=UN.CONSTRUCTOR,bF=UN.REJECTION_EVENT,xF=UN.SUBCLASSING,wF=pF.getterFor(yF),AF=pF.set,_F=gF&&gF.prototype,EF=gF,SF=_F,kF=QN.TypeError,MF=QN.document,OF=QN.process,TF=vF.f,PF=TF,IF=!!(MF&&MF.createEvent&&QN.dispatchEvent),CF="unhandledrejection",RF=function(t){var e;return!(!aF(t)||!oF(e=t.then))&&e},DF=function(t,e){var r,n,i,o=e.value,a=1===e.state,s=a?t.ok:t.fail,c=t.resolve,l=t.reject,u=t.domain;try{s?(a||(2===e.rejection&&zF(e),e.rejection=1),!0===s?r=o:(u&&u.enter(),r=s(o),u&&(u.exit(),i=!0)),r===t.promise?l(new kF("Promise-chain cycle")):(n=RF(r))?ZN(n,r,c,l):c(r)):l(o)}catch(t){u&&!i&&u.exit(),l(t)}},LF=function(t,e){t.notified||(t.notified=!0,uF(function(){for(var r,n=t.reactions;r=n.get();)DF(r,t);t.notified=!1,e&&!t.rejection&&NF(t)}))},jF=function(t,e,r){var n,i;IF?((n=MF.createEvent("Event")).promise=e,n.reason=r,n.initEvent(t,!1,!0),QN.dispatchEvent(n)):n={promise:e,reason:r},!bF&&(i=QN["on"+t])?i(n):t===CF&&hF("Unhandled promise rejection",r)},NF=function(t){ZN(lF,QN,function(){var e,r=t.facade,n=t.value;if(FF(t)&&(e=fF(function(){KN?OF.emit("unhandledRejection",n,r):jF(CF,r,n)}),t.rejection=KN||FF(t)?2:1,e.error))throw e.value})},FF=function(t){return 1!==t.rejection&&!t.parent},zF=function(t){ZN(lF,QN,function(){var e=t.facade;KN?OF.emit("rejectionHandled",e):jF("rejectionhandled",e,t.value)})},UF=function(t,e,r){return function(n){t(e,n,r)}},BF=function(t,e,r){t.done||(t.done=!0,r&&(t=r),t.value=e,t.state=2,LF(t,!0))},$F=function(t,e,r){if(!t.done){t.done=!0,r&&(t=r);try{if(t.facade===e)throw new kF("Promise can't be resolved itself");var n=RF(e);n?uF(function(){var r={done:!1};try{ZN(n,e,UF($F,r,t),UF(BF,r,t))}catch(e){BF(r,e,t)}}):(t.value=e,t.state=1,LF(t,!1))}catch(e){BF({done:!1},e,t)}}};if(mF&&(SF=(EF=function(t){sF(this,SF),iF(t),ZN(HN,this);var e=wF(this);try{t(UF($F,e),UF(BF,e))}catch(t){BF(e,t)}}).prototype,(HN=function(t){AF(this,{type:yF,done:!1,notified:!1,parent:!1,reactions:new dF,rejection:!1,state:0,value:null})}).prototype=tF(SF,"then",function(t,e){var r=wF(this),n=TF(cF(this,EF));return r.parent=!0,n.ok=!oF(t)||t,n.fail=oF(e)&&e,n.domain=KN?OF.domain:void 0,0===r.state?r.reactions.add(n):uF(function(){DF(n,r)}),n.promise}),WN=function(){var t=new HN,e=wF(t);this.promise=t,this.resolve=UF($F,e),this.reject=UF(BF,e)},vF.f=TF=function(t){return t===EF||t===qN?new WN(t):PF(t)},oF(gF)&&_F!==Object.prototype)){VN=_F.then,xF||tF(_F,"then",function(t,e){var r=this;return new EF(function(t,e){ZN(VN,r,t,e)}).then(t,e)},{unsafe:!0});try{delete _F.constructor}catch(t){}eF&&eF(_F,SF)}XN({global:!0,constructor:!0,wrap:!0,forced:mF},{Promise:EF}),qN=JN.Promise,rF(EF,yF,!1),nF(yF);var YF=MN,GF=UN.CONSTRUCTOR||!bp(function(t){YF.all(t).then(void 0,function(){})}),HF=u,WF=mt,qF=BN,VF=kN,XF=Sh;ni({target:"Promise",stat:!0,forced:GF},{all:function(t){var e=this,r=qF.f(e),n=r.resolve,i=r.reject,o=VF(function(){var r=WF(e.resolve),o=[],a=0,s=1;XF(t,function(t){var c=a++,l=!1;s++,HF(r,e,t).then(function(t){l||(l=!0,o[c]=t,--s||n(o))},i)}),--s||n(o)});return o.error&&i(o.value),r.promise}});var KF=ni,QF=UN.CONSTRUCTOR,JF=MN,ZF=H,tz=U,ez=Jr,rz=JF&&JF.prototype;if(KF({target:"Promise",proto:!0,forced:QF,real:!0},{catch:function(t){return this.then(void 0,t)}}),tz(JF)){var nz=ZF("Promise").prototype.catch;rz.catch!==nz&&ez(rz,"catch",nz,{unsafe:!0})}var iz=u,oz=mt,az=BN,sz=kN,cz=Sh;ni({target:"Promise",stat:!0,forced:GF},{race:function(t){var e=this,r=az.f(e),n=r.reject,i=sz(function(){var i=oz(e.resolve);cz(t,function(t){iz(i,e,t).then(r.resolve,n)})});return i.error&&n(i.value),r.promise}});var lz=BN;ni({target:"Promise",stat:!0,forced:UN.CONSTRUCTOR},{reject:function(t){var e=lz.f(this);return(0,e.reject)(t),e.promise}});var uz=De,hz=$,fz=BN,dz=function(t,e){if(uz(t),hz(e)&&e.constructor===t)return e;var r=fz.f(t);return(0,r.resolve)(e),r.promise},pz=ni,gz=UN.CONSTRUCTOR,vz=dz;H("Promise"),pz({target:"Promise",stat:!0,forced:gz},{resolve:function(t){return vz(this,t)}});var yz=u,mz=mt,bz=BN,xz=kN,wz=Sh;ni({target:"Promise",stat:!0,forced:GF},{allSettled:function(t){var e=this,r=bz.f(e),n=r.resolve,i=r.reject,o=xz(function(){var r=mz(e.resolve),i=[],o=0,a=1;wz(t,function(t){var s=o++,c=!1;a++,yz(r,e,t).then(function(t){c||(c=!0,i[s]={status:"fulfilled",value:t},--a||n(i))},function(t){c||(c=!0,i[s]={status:"rejected",reason:t},--a||n(i))})}),--a||n(i)});return o.error&&i(o.value),r.promise}});var Az=u,_z=mt,Ez=H,Sz=BN,kz=kN,Mz=Sh,Oz="No one promise resolved";ni({target:"Promise",stat:!0,forced:GF},{any:function(t){var e=this,r=Ez("AggregateError"),n=Sz.f(e),i=n.resolve,o=n.reject,a=kz(function(){var n=_z(e.resolve),a=[],s=0,c=1,l=!1;Mz(t,function(t){var u=s++,h=!1;c++,Az(n,e,t).then(function(t){h||l||(l=!0,i(t))},function(t){h||l||(h=!0,a[u]=t,--c||o(new r(a,Oz)))})}),--c||o(new r(a,Oz))});return a.error&&o(a.value),n.promise}});var Tz=ni,Pz=MN,Iz=o,Cz=H,Rz=U,Dz=bj,Lz=dz,jz=Jr,Nz=Pz&&Pz.prototype;if(Tz({target:"Promise",proto:!0,real:!0,forced:!!Pz&&Iz(function(){Nz.finally.call({then:function(){}},function(){})})},{finally:function(t){var e=Dz(this,Cz("Promise")),r=Rz(t);return this.then(r?function(r){return Lz(e,t()).then(function(){return r})}:t,r?function(r){return Lz(e,t()).then(function(){throw r})}:t)}}),Rz(Pz)){var Fz=Cz("Promise").prototype.finally;Nz.finally!==Fz&&jz(Nz,"finally",Fz,{unsafe:!0})}var zz=ni,Uz=Os,Bz=Yi,$z=BN,Yz=mt,Gz=kN,Hz=n.Promise,Wz=!1;zz({target:"Promise",stat:!0,forced:!Hz||!Hz.try||Gz(function(){Hz.try(function(t){Wz=8===t},8)}).error||!Wz},{try:function(t){var e=arguments.length>1?Bz(arguments,1):[],r=$z.f(this),n=Gz(function(){return Uz(Yz(t),void 0,e)});return(n.error?r.reject:r.resolve)(n.value),r.promise}});var qz=BN;ni({target:"Promise",stat:!0},{withResolvers:function(){var t=qz.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}});var Vz,Xz,Kz=n,Qz=Mt.exports,Jz=U,Zz=Yu,tU=Jr,eU="USE_FUNCTION_CONSTRUCTOR",rU=re("asyncIterator"),nU=Kz.AsyncIterator,iU=Qz.AsyncIteratorPrototype;if(iU)Vz=iU;else if(Jz(nU))Vz=nU.prototype;else if(Qz[eU]||Kz[eU])try{Xz=Zz(Zz(Zz(Function("return async function*(){}()")()))),Zz(Xz)===Object.prototype&&(Vz=Xz)}catch(t){}Vz||(Vz={}),Jz(Vz[rU])||tU(Vz,rU,function(){return this});var oU=Vz,aU=u,sU=De,cU=Bi,lU=wt,uU=ym,hU=Pr,fU=hh,dU=oU,pU=dg,gU=H("Promise"),vU="AsyncFromSyncIterator",yU=hU.set,mU=hU.getterFor(vU),bU=function(t,e,r,n,i){var o=t.done;gU.resolve(t.value).then(function(t){e(pU(t,o))},function(t){if(!o&&i)try{fU(n,"throw",t)}catch(e){t=e}r(t)})},xU=function(t){t.type=vU,yU(this,t)};xU.prototype=uU(cU(dU),{next:function(){var t=mU(this);return new gU(function(e,r){var n=sU(aU(t.next,t.iterator));bU(n,e,r,t.iterator,!0)})},return:function(){var t=mU(this).iterator;return new gU(function(e,r){var n=lU(t,"return");if(void 0===n)return e(pU(void 0,!0));var i=sU(aU(n,t));bU(i,e,r,t)})}});var wU=xU,AU=u,_U=wU,EU=De,SU=sh,kU=YS,MU=wt,OU=re("asyncIterator"),TU=u,PU=H,IU=wt,CU=u,RU=mt,DU=De,LU=$,jU=Of,NU=H,FU=YS,zU=function(t,e,r,n){try{var i=IU(t,"return");if(i)return PU("Promise").resolve(TU(i,t)).then(function(){e(r)},function(t){n(t)})}catch(t){return n(t)}e(r)},UU=function(t){var e=0===t,r=1===t,n=2===t,i=3===t;return function(t,o,a){DU(t);var s=void 0!==o;!s&&e||RU(o);var c=FU(t),l=NU("Promise"),u=c.iterator,h=c.next,f=0;return new l(function(t,c){var d=function(t){zU(u,c,t,c)},p=function(){try{if(s)try{jU(f)}catch(t){d(t)}l.resolve(DU(CU(h,u))).then(function(h){try{if(DU(h).done)e?(a.length=f,t(a)):t(!i&&(n||void 0));else{var g=h.value;try{if(s){var v=o(g,f),y=function(o){if(r)p();else if(n)o?p():zU(u,t,!1,c);else if(e)try{a[f++]=o,p()}catch(t){d(t)}else o?zU(u,t,i||g,c):p()};LU(v)?l.resolve(v).then(y,d):y(v)}else a[f++]=g,p()}catch(t){d(t)}}}catch(t){c(t)}},c)}catch(t){c(t)}};p()})}},BU={toArray:UU(0),forEach:UU(1),every:UU(2),some:UU(3),find:UU(4)},$U=Ao,YU=A,GU=zt,HU=No,WU=function(t,e){var r=arguments.length<2?MU(t,OU):e;return r?EU(AU(r,t)):new _U(kU(SU(t)))},qU=sh,VU=YS,XU=th,KU=wt,QU=H,JU=zy,ZU=wU,tB=BU.toArray,eB=re("asyncIterator"),rB=YU(JU("Array","values")),nB=YU(rB([]).next),iB=function(){return new oB(this)},oB=function(t){this.iterator=rB(t)};oB.prototype.next=function(){return nB(this.iterator)};var aB=ni,sB=function(t){var e=this,r=arguments.length,n=r>1?arguments[1]:void 0,i=r>2?arguments[2]:void 0;return new(QU("Promise"))(function(r){var o=GU(t);void 0!==n&&(n=$U(n,i));var a=KU(o,eB),s=a?void 0:XU(o)||iB,c=HU(e)?new e:[],l=a?WU(o,a):new ZU(VU(qU(o,s)));r(tB(l,n,c))})},cB=o,lB=Array.fromAsync,uB=!lB||cB(function(){var t=0;return lB.call(function(){return t++,[]},{length:0}),1!==t});aB({target:"Array",stat:!0,forced:uB},{fromAsync:sB});var hB=ni,fB=a,dB=H,pB=mt,gB=xm,vB=Jr,yB=ym,mB=Qi,bB=re,xB=Pr,wB=L_,AB=rt,_B=dB("Promise"),EB=dB("SuppressedError"),SB=ReferenceError,kB=bB("asyncDispose"),MB=bB("toStringTag"),OB="AsyncDisposableStack",TB=xB.set,PB=xB.getterFor(OB),IB="async-dispose",CB="disposed",RB=function(t){var e=PB(t);if(e.state===CB)throw new SB(OB+" already disposed");return e},DB=function(){TB(gB(this,LB),{type:OB,state:"pending",stack:[]}),fB||(this.disposed=!1)},LB=DB.prototype;yB(LB,{disposeAsync:function(){var t=this;return new _B(function(e,r){var n=PB(t);if(n.state===CB)return e(void 0);n.state=CB,fB||(t.disposed=!0);var i,o=n.stack,a=o.length,s=!1,c=function(t){s?i=new EB(t,i):(s=!0,i=t),l()},l=function(){if(a){var t=o[--a];o[a]=null;try{_B.resolve(t()).then(l,c)}catch(t){c(t)}}else n.stack=null,s?r(i):e(void 0)};l()})},use:function(t){return wB(RB(this),t,IB),t},adopt:function(t,e){var r=RB(this);return pB(e),wB(r,void 0,IB,function(){return e(t)}),t},defer:function(t){var e=RB(this);pB(t),wB(e,void 0,IB,t)},move:function(){var t=RB(this),e=new DB;return PB(e).stack=t.stack,t.stack=[],t.state=CB,fB||(this.disposed=!0),e}}),fB&&mB(LB,"disposed",{configurable:!0,get:function(){return PB(this).state===CB}}),vB(LB,kB,LB.disposeAsync,{name:"disposeAsync"}),vB(LB,MB,OB,{nonWritable:!0}),hB({global:!0,constructor:!0,forced:AB&&AB<136},{AsyncDisposableStack:DB});var jB=u,NB=Jr,FB=H,zB=wt,UB=$t,BB=oU,$B=re("asyncDispose"),YB=FB("Promise");UB(BB,$B)||NB(BB,$B,function(){var t=this;return new YB(function(e,r){var n=zB(t,"return");n?YB.resolve(jB(n,t)).then(function(){e(void 0)},r):e(void 0)})});var GB=Os,HB=mt,WB=De;ni({target:"Reflect",stat:!0,forced:!o(function(){Reflect.apply(function(){})})},{apply:function(t,e,r){return GB(HB(t),e,WB(r))}});var qB=ni,VB=Os,XB=EE,KB=pj,QB=De,JB=$,ZB=Bi,t$=o,e$=H("Reflect","construct"),r$=Object.prototype,n$=[].push,i$=t$(function(){function t(){}return!(e$(function(){},[],t)instanceof t)}),o$=!t$(function(){e$(function(){})}),a$=i$||o$;qB({target:"Reflect",stat:!0,forced:a$,sham:a$},{construct:function(t,e){KB(t),QB(e);var r=arguments.length<3?t:KB(arguments[2]);if(o$&&!i$)return e$(t,e,r);if(t===r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return VB(n$,n,e),new(VB(XB,t,n))}var i=r.prototype,o=ZB(JB(i)?i:r$),a=VB(t,o,e);return JB(a)?a:o}});var s$=a,c$=De,l$=de,u$=Te;ni({target:"Reflect",stat:!0,forced:o(function(){Reflect.defineProperty(u$.f({},1,{value:1}),1,{value:2})}),sham:!s$},{defineProperty:function(t,e,r){c$(t);var n=l$(e);c$(r);try{return u$.f(t,n,r),!0}catch(t){return!1}}});var h$=ni,f$=De,d$=i.f;h$({target:"Reflect",stat:!0},{deleteProperty:function(t,e){var r=d$(f$(t),e);return!(r&&!r.configurable)&&delete t[e]}});var p$=$t,g$=function(t){return void 0!==t&&(p$(t,"value")||p$(t,"writable"))},v$=u,y$=$,m$=De,b$=g$,x$=i,w$=Yu;ni({target:"Reflect",stat:!0},{get:function t(e,r){var n,i,o=arguments.length<3?e:arguments[2];return m$(e)===o?e[r]:(n=x$.f(e,r))?b$(n)?n.value:void 0===n.get?void 0:v$(n.get,o):y$(i=w$(e))?t(i,r,o):void 0}});var A$=De,_$=i;ni({target:"Reflect",stat:!0,sham:!a},{getOwnPropertyDescriptor:function(t,e){return _$.f(A$(t),e)}});var E$=De,S$=Yu;ni({target:"Reflect",stat:!0,sham:!Lu},{getPrototypeOf:function(t){return S$(E$(t))}}),ni({target:"Reflect",stat:!0},{has:function(t,e){return e in t}});var k$=De,M$=mT;ni({target:"Reflect",stat:!0},{isExtensible:function(t){return k$(t),M$(t)}}),ni({target:"Reflect",stat:!0},{ownKeys:Ln});var O$=H,T$=De;ni({target:"Reflect",stat:!0,sham:!XO},{preventExtensions:function(t){T$(t);try{var e=O$("Object","preventExtensions");return e&&e(t),!0}catch(t){return!1}}});var P$=ni,I$=u,C$=De,R$=$,D$=g$,L$=Te,j$=i,N$=Yu,F$=y;var z$=o(function(){var t=function(){},e=L$.f(new t,"a",{configurable:!0});return!1!==Reflect.set(t.prototype,"a",1,e)});P$({target:"Reflect",stat:!0,forced:z$},{set:function t(e,r,n){var i,o,a,s=arguments.length<4?e:arguments[3],c=j$.f(C$(e),r);if(!c){if(R$(o=N$(e)))return t(o,r,n,s);c=F$(0)}if(D$(c)){if(!1===c.writable||!R$(s))return!1;if(i=j$.f(s,r)){if(i.get||i.set||!1===i.writable)return!1;i.value=n,L$.f(s,r,i)}else L$.f(s,r,F$(0,n))}else{if(void 0===(a=c.set))return!1;I$(a,s,n)}return!0}});var U$=De,B$=yl,$$=Al;$$&&ni({target:"Reflect",stat:!0},{setPrototypeOf:function(t,e){U$(t),B$(e);try{return $$(t,e),!0}catch(t){return!1}}});var Y$=n,G$=go;ni({global:!0},{Reflect:{}}),G$(Y$.Reflect,"Reflect",!0);var H$=$,W$=k,q$=re("match"),V$=function(t){var e;return H$(t)&&(void 0!==(e=t[q$])?!!e:"RegExp"===W$(t))},X$=o,K$=n.RegExp,Q$=!X$(function(){var t=!0;try{K$(".","d")}catch(e){t=!1}var e={},r="",n=t?"dgimsy":"gimsy",i=function(t,n){Object.defineProperty(e,t,{get:function(){return r+=n,!0}})},o={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var a in t&&(o.hasIndices="d"),o)i(a,o[a]);return Object.getOwnPropertyDescriptor(K$.prototype,"flags").get.call(e)!==n||r!==n}),J$={correct:Q$},Z$=De,tY=function(){var t=Z$(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},eY=u,rY=$t,nY=W,iY=J$,oY=tY,aY=RegExp.prototype,sY=iY.correct?function(t){return t.flags}:function(t){return iY.correct||!nY(aY,t)||rY(t,"flags")?t.flags:eY(oY,t)},cY=o,lY=n.RegExp,uY=cY(function(){var t=lY("a","y");return t.lastIndex=2,null!==t.exec("abcd")}),hY=uY||cY(function(){return!lY("a","y").sticky}),fY=uY||cY(function(){var t=lY("^r","gy");return t.lastIndex=2,null!==t.exec("str")}),dY={BROKEN_CARET:fY,MISSED_STICKY:hY,UNSUPPORTED_Y:uY},pY=o,gY=n.RegExp,vY=pY(function(){var t=gY(".","s");return!(t.dotAll&&t.test("\n")&&"s"===t.flags)}),yY=o,mY=n.RegExp,bY=yY(function(){var t=mY("(?<a>b)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$<a>c")}),xY=a,wY=n,AY=A,_Y=Xn,EY=Ol,SY=Ve,kY=Bi,MY=Zr.f,OY=W,TY=V$,PY=gi,IY=sY,CY=dY,RY=El,DY=Jr,LY=o,jY=$t,NY=Pr.enforce,FY=vy,zY=vY,UY=bY,BY=re("match"),$Y=wY.RegExp,YY=$Y.prototype,GY=wY.SyntaxError,HY=AY(YY.exec),WY=AY("".charAt),qY=AY("".replace),VY=AY("".indexOf),XY=AY("".slice),KY=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,QY=/a/g,JY=/a/g,ZY=new $Y(QY)!==QY,tG=CY.MISSED_STICKY,eG=CY.UNSUPPORTED_Y,rG=xY&&(!ZY||tG||zY||UY||LY(function(){return JY[BY]=!1,$Y(QY)!==QY||$Y(JY)===JY||"/a/i"!==String($Y(QY,"i"))}));if(_Y("RegExp",rG)){for(var nG=function(t,e){var r,n,i,o,a,s,c=OY(YY,this),l=TY(t),u=void 0===e,h=[],f=t;if(!c&&l&&u&&t.constructor===nG)return t;if((l||OY(YY,t))&&(t=t.source,u&&(e=IY(f))),t=void 0===t?"":PY(t),e=void 0===e?"":PY(e),f=t,zY&&"dotAll"in QY&&(n=!!e&&VY(e,"s")>-1)&&(e=qY(e,/s/g,"")),r=e,tG&&"sticky"in QY&&(i=!!e&&VY(e,"y")>-1)&&eG&&(e=qY(e,/y/g,"")),UY&&(o=function(t){for(var e,r=t.length,n=0,i="",o=[],a=kY(null),s=!1,c=!1,l=0,u="";n<=r;n++){if("\\"===(e=WY(t,n)))e+=WY(t,++n);else if("]"===e)s=!1;else if(!s)switch(!0){case"["===e:s=!0;break;case"("===e:if(i+=e,"?:"===XY(t,n+1,n+3))continue;HY(KY,XY(t,n+1))&&(n+=2,c=!0),l++;continue;case">"===e&&c:if(""===u||jY(a,u))throw new GY("Invalid capture group name");a[u]=!0,o[o.length]=[u,l],c=!1,u="";continue}c?u+=e:i+=e}return[i,o]}(t),t=o[0],h=o[1]),a=EY($Y(t,e),c?this:YY,nG),(n||i||h.length)&&(s=NY(a),n&&(s.dotAll=!0,s.raw=nG(function(t){for(var e,r=t.length,n=0,i="",o=!1;n<=r;n++)"\\"!==(e=WY(t,n))?o||"."!==e?("["===e?o=!0:"]"===e&&(o=!1),i+=e):i+="[\\s\\S]":i+=e+WY(t,++n);return i}(t),r)),i&&(s.sticky=!0),h.length&&(s.groups=h)),t!==f)try{SY(a,"source",""===f?"(?:)":f)}catch(t){}return a},iG=MY($Y),oG=0;iG.length>oG;)RY(nG,$Y,iG[oG++]);YY.constructor=nG,nG.prototype=YY,DY(wY,"RegExp",nG,{constructor:!0})}FY("RegExp");var aG=TypeError,sG=function(t){if("string"==typeof t)return t;throw new aG("Argument is not a string")},cG=ni,lG=A,uG=sG,hG=$t,fG=UA.start,dG=$I,pG=Array,gG=RegExp.escape,vG=lG("".charAt),yG=lG("".charCodeAt),mG=lG(1.1.toString),bG=lG([].join),xG=/^[0-9a-z]/i,wG=/^[$()*+./?[\\\]^{|}]/,AG=RegExp("^[!\"#%&',\\-:;<=>@`~"+dG+"]"),_G=lG(xG.exec),EG={"\t":"t","\n":"n","\v":"v","\f":"f","\r":"r"},SG=function(t){var e=mG(yG(t,0),16);return e.length<3?"\\x"+fG(e,2,"0"):"\\u"+fG(e,4,"0")};cG({target:"RegExp",stat:!0,forced:!gG||"\\x61b"!==gG("ab")},{escape:function(t){uG(t);for(var e=t.length,r=pG(e),n=0;n<e;n++){var i=vG(t,n);if(0===n&&_G(xG,i))r[n]=SG(i);else if(hG(EG,i))r[n]="\\"+EG[i];else if(_G(wG,i))r[n]="\\"+i;else if(_G(AG,i))r[n]=SG(i);else{var o=yG(i,0);55296!=(63488&o)?r[n]=i:o>=56320||n+1>=e||56320!=(64512&yG(t,n+1))?r[n]=SG(i):(r[n]=i,r[++n]=vG(t,n))}}return bG(r,"")}});var kG=a,MG=vY,OG=k,TG=Qi,PG=Pr.get,IG=RegExp.prototype,CG=TypeError;kG&&MG&&TG(IG,"dotAll",{configurable:!0,get:function(){if(this!==IG){if("RegExp"===OG(this))return!!PG(this).dotAll;throw new CG("Incompatible receiver, RegExp required")}}});var RG=u,DG=A,LG=gi,jG=tY,NG=dY,FG=Bi,zG=Pr.get,UG=vY,BG=bY,$G=jt("native-string-replace",String.prototype.replace),YG=RegExp.prototype.exec,GG=YG,HG=DG("".charAt),WG=DG("".indexOf),qG=DG("".replace),VG=DG("".slice),XG=function(){var t=/a/,e=/b*/g;return RG(YG,t,"a"),RG(YG,e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),KG=NG.BROKEN_CARET,QG=void 0!==/()??/.exec("")[1];(XG||QG||KG||UG||BG)&&(GG=function(t){var e,r,n,i,o,a,s,c=this,l=zG(c),u=LG(t),h=l.raw;if(h)return h.lastIndex=c.lastIndex,e=RG(GG,h,u),c.lastIndex=h.lastIndex,e;var f=l.groups,d=KG&&c.sticky,p=RG(jG,c),g=c.source,v=0,y=u;if(d&&(p=qG(p,"y",""),-1===WG(p,"g")&&(p+="g"),y=VG(u,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==HG(u,c.lastIndex-1))&&(g="(?: "+g+")",y=" "+y,v++),r=new RegExp("^(?:"+g+")",p)),QG&&(r=new RegExp("^"+g+"$(?!\\s)",p)),XG&&(n=c.lastIndex),i=RG(YG,d?r:c,y),d?i?(i.input=VG(i.input,v),i[0]=VG(i[0],v),i.index=c.lastIndex,c.lastIndex+=i[0].length):c.lastIndex=0:XG&&i&&(c.lastIndex=c.global?i.index+i[0].length:n),QG&&i&&i.length>1&&RG($G,i[0],r,function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(i[o]=void 0)}),i&&f)for(i.groups=a=FG(null),o=0;o<f.length;o++)a[(s=f[o])[0]]=i[s[1]];return i});var JG=GG;ni({target:"RegExp",proto:!0,forced:/./.exec!==JG},{exec:JG});var ZG=Qi,tH=J$,eH=tY;a&&!tH.correct&&(ZG(RegExp.prototype,"flags",{configurable:!0,get:eH}),tH.correct=!0);var rH=a,nH=dY.MISSED_STICKY,iH=k,oH=Qi,aH=Pr.get,sH=RegExp.prototype,cH=TypeError;rH&&nH&&oH(sH,"sticky",{configurable:!0,get:function(){if(this!==sH){if("RegExp"===iH(this))return!!aH(this).sticky;throw new cH("Incompatible receiver, RegExp required")}}});var lH,uH,hH=ni,fH=u,dH=U,pH=De,gH=gi,vH=(lH=!1,(uH=/[ac]/).exec=function(){return lH=!0,/./.exec.apply(this,arguments)},!0===uH.test("abc")&&lH),yH=/./.test;hH({target:"RegExp",proto:!0,forced:!vH},{test:function(t){var e=pH(this),r=gH(t),n=e.exec;if(!dH(n))return fH(yH,e,r);var i=fH(n,e,r);return null!==i&&(pH(i),!0)}});var mH=er.PROPER,bH=Jr,xH=De,wH=gi,AH=o,_H=sY,EH="toString",SH=RegExp.prototype,kH=SH[EH],MH=AH(function(){return"/a/b"!==kH.call({source:"a",flags:"b"})}),OH=mH&&kH.name!==EH;(MH||OH)&&bH(SH,EH,function(){var t=xH(this);return"/"+wH(t.source)+"/"+wH(_H(t))},{unsafe:!0}),XT("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},uP);var TH=A,PH=Set.prototype,IH={Set:Set,add:TH(PH.add),has:TH(PH.has),remove:TH(PH.delete),proto:PH},CH=IH.has,RH=function(t){return CH(t),t},DH=u,LH=function(t,e,r){for(var n,i,o=r?t:t.iterator,a=t.next;!(n=DH(a,o)).done;)if(void 0!==(i=e(n.value)))return i},jH=A,NH=LH,FH=IH.Set,zH=IH.proto,UH=jH(zH.forEach),BH=jH(zH.keys),$H=BH(new FH).next,YH=function(t,e,r){return r?NH({iterator:BH(t),next:$H},e):UH(t,e)},GH=YH,HH=IH.Set,WH=IH.add,qH=function(t){var e=new HH;return GH(t,function(t){WH(e,t)}),e},VH=hl(IH.proto,"size","get")||function(t){return t.size},XH=mt,KH=De,QH=u,JH=on,ZH=YS,tW="Invalid size",eW=RangeError,rW=TypeError,nW=Math.max,iW=function(t,e){this.set=t,this.size=nW(e,0),this.has=XH(t.has),this.keys=XH(t.keys)};iW.prototype={getIterator:function(){return ZH(KH(QH(this.keys,this.set)))},includes:function(t){return QH(this.has,this.set,t)}};var oW=function(t){KH(t);var e=+t.size;if(e!=e)throw new rW(tW);var r=JH(e);if(r<0)throw new eW(tW);return new iW(t,r)},aW=RH,sW=qH,cW=VH,lW=oW,uW=YH,hW=LH,fW=IH.has,dW=IH.remove,pW=H,gW=function(t){return{size:t,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},vW=function(t){return{size:t,has:function(){return!0},keys:function(){throw new Error("e")}}},yW=function(t,e){var r=pW("Set");try{(new r)[t](gW(0));try{return(new r)[t](gW(-1)),!1}catch(n){if(!e)return!0;try{return(new r)[t](vW(-1/0)),!1}catch(n){return e(new r([1,2])[t](vW(1/0)))}}}catch(t){return!1}},mW=ni,bW=function(t){var e=aW(this),r=lW(t),n=sW(e);return cW(e)<=r.size?uW(e,function(t){r.includes(t)&&dW(n,t)}):hW(r.getIterator(),function(t){fW(n,t)&&dW(n,t)}),n},xW=o,wW=!yW("difference",function(t){return 0===t.size})||xW(function(){var t={size:1,has:function(){return!0},keys:function(){var t=0;return{next:function(){var r=t++>1;return e.has(1)&&e.clear(),{done:r,value:2}}}}},e=new Set([1,2,3,4]);return 3!==e.difference(t).size});mW({target:"Set",proto:!0,real:!0,forced:wW},{difference:bW});var AW=RH,_W=VH,EW=oW,SW=YH,kW=LH,MW=IH.Set,OW=IH.add,TW=IH.has,PW=o,IW=function(t){var e=AW(this),r=EW(t),n=new MW;return _W(e)>r.size?kW(r.getIterator(),function(t){TW(e,t)&&OW(n,t)}):SW(e,function(t){r.includes(t)&&OW(n,t)}),n};ni({target:"Set",proto:!0,real:!0,forced:!yW("intersection",function(t){return 2===t.size&&t.has(1)&&t.has(2)})||PW(function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))})},{intersection:IW});var CW=RH,RW=IH.has,DW=VH,LW=oW,jW=YH,NW=LH,FW=hh,zW=function(t){var e=CW(this),r=LW(t);if(DW(e)<=r.size)return!1!==jW(e,function(t){if(r.includes(t))return!1},!0);var n=r.getIterator();return!1!==NW(n,function(t){if(RW(e,t))return FW(n,"normal",!1)})};ni({target:"Set",proto:!0,real:!0,forced:!yW("isDisjointFrom",function(t){return!t})},{isDisjointFrom:zW});var UW=RH,BW=VH,$W=YH,YW=oW,GW=function(t){var e=UW(this),r=YW(t);return!(BW(e)>r.size)&&!1!==$W(e,function(t){if(!r.includes(t))return!1},!0)};ni({target:"Set",proto:!0,real:!0,forced:!yW("isSubsetOf",function(t){return t})},{isSubsetOf:GW});var HW=RH,WW=IH.has,qW=VH,VW=oW,XW=LH,KW=hh,QW=function(t){var e=HW(this),r=VW(t);if(qW(e)<r.size)return!1;var n=r.getIterator();return!1!==XW(n,function(t){if(!WW(e,t))return KW(n,"normal",!1)})};ni({target:"Set",proto:!0,real:!0,forced:!yW("isSupersetOf",function(t){return!t})},{isSupersetOf:QW});var JW=RH,ZW=qH,tq=oW,eq=LH,rq=IH.add,nq=IH.has,iq=IH.remove,oq=function(t){try{var e=new Set,r={size:0,has:function(){return!0},keys:function(){return Object.defineProperty({},"next",{get:function(){return e.clear(),e.add(4),function(){return{done:!0}}}})}},n=e[t](r);return 1===n.size&&4===n.values().next().value}catch(t){return!1}},aq=function(t){var e=JW(this),r=tq(t).getIterator(),n=ZW(e);return eq(r,function(t){nq(e,t)?iq(n,t):rq(n,t)}),n},sq=oq;ni({target:"Set",proto:!0,real:!0,forced:!yW("symmetricDifference")||!sq("symmetricDifference")},{symmetricDifference:aq});var cq=RH,lq=IH.add,uq=qH,hq=oW,fq=LH,dq=function(t){var e=cq(this),r=hq(t).getIterator(),n=uq(e);return fq(r,function(t){lq(n,t)}),n},pq=oq;ni({target:"Set",proto:!0,real:!0,forced:!yW("union")||!pq("union")},{union:dq});var gq=ni,vq=L,yq=on,mq=gi,bq=o,xq=A("".charAt);gq({target:"String",proto:!0,forced:bq(function(){return"\ud842"!=="𠮷".at(-2)})},{at:function(t){var e=mq(vq(this)),r=e.length,n=yq(t),i=n>=0?n:r+n;return i<0||i>=r?void 0:xq(e,i)}});var wq=A,Aq=on,_q=gi,Eq=L,Sq=wq("".charAt),kq=wq("".charCodeAt),Mq=wq("".slice),Oq=function(t){return function(e,r){var n,i,o=_q(Eq(e)),a=Aq(r),s=o.length;return a<0||a>=s?t?"":void 0:(n=kq(o,a))<55296||n>56319||a+1===s||(i=kq(o,a+1))<56320||i>57343?t?Sq(o,a):n:t?Mq(o,a,a+2):i-56320+(n-55296<<10)+65536}},Tq={codeAt:Oq(!1),charAt:Oq(!0)},Pq=Tq.codeAt;ni({target:"String",proto:!0},{codePointAt:function(t){return Pq(this,t)}});var Iq=V$,Cq=TypeError,Rq=function(t){if(Iq(t))throw new Cq("The method doesn't accept regular expressions");return t},Dq=re("match"),Lq=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[Dq]=!1,"/./"[t](e)}catch(t){}}return!1},jq=ni,Nq=mo,Fq=i.f,zq=fn,Uq=gi,Bq=Rq,$q=L,Yq=Lq,Gq=Nq("".slice),Hq=Math.min,Wq=Yq("endsWith"),qq=!Wq&&!!function(){var t=Fq(String.prototype,"endsWith");return t&&!t.writable}();jq({target:"String",proto:!0,forced:!qq&&!Wq},{endsWith:function(t){var e=Uq($q(this));Bq(t);var r=arguments.length>1?arguments[1]:void 0,n=e.length,i=void 0===r?n:Hq(zq(r),n),o=Uq(t);return Gq(e,i-o.length,i)===o}});var Vq=ni,Xq=A,Kq=ln,Qq=RangeError,Jq=String.fromCharCode,Zq=String.fromCodePoint,tV=Xq([].join);Vq({target:"String",stat:!0,arity:1,forced:!!Zq&&1!==Zq.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,i=0;n>i;){if(e=+arguments[i++],Kq(e,1114111)!==e)throw new Qq(e+" is not a valid code point");r[i]=e<65536?Jq(e):Jq(55296+((e-=65536)>>10),e%1024+56320)}return tV(r,"")}});var eV=ni,rV=Rq,nV=L,iV=gi,oV=Lq,aV=A("".indexOf);eV({target:"String",proto:!0,forced:!oV("includes")},{includes:function(t){return!!~aV(iV(nV(this)),iV(rV(t)),arguments.length>1?arguments[1]:void 0)}});var sV=ni,cV=L,lV=gi,uV=A("".charCodeAt);sV({target:"String",proto:!0},{isWellFormed:function(){for(var t=lV(cV(this)),e=t.length,r=0;r<e;r++){var n=uV(t,r);if(55296==(63488&n)&&(n>=56320||++r>=e||56320!=(64512&uV(t,r))))return!1}return!0}});var hV=Tq.charAt,fV=gi,dV=Pr,pV=fg,gV=dg,vV="String Iterator",yV=dV.set,mV=dV.getterFor(vV);pV(String,"String",function(t){yV(this,{type:vV,string:fV(t),index:0})},function(){var t,e=mV(this),r=e.string,n=e.index;return n>=r.length?gV(void 0,!0):(t=hV(r,n),e.index+=t.length,gV(t,!1))});var bV=u,xV=Jr,wV=JG,AV=o,_V=re,EV=Ve,SV=_V("species"),kV=RegExp.prototype,MV=function(t,e,r,n){var i=_V(t),o=!AV(function(){var e={};return e[i]=function(){return 7},7!==""[t](e)}),a=o&&!AV(function(){var e=!1,r=/a/;if("split"===t){var n={};n[SV]=function(){return r},(r={constructor:n,flags:""})[i]=/./[i]}return r.exec=function(){return e=!0,null},r[i](""),!e});if(!o||!a||r){var s=/./[i],c=e(i,""[t],function(t,e,r,n,i){var a=e.exec;return a===wV||a===kV.exec?o&&!i?{done:!0,value:bV(s,e,r,n)}:{done:!0,value:bV(t,r,e,n)}:{done:!1}});xV(String.prototype,t,c[0]),xV(kV,i,c[1])}n&&EV(kV[i],"sham",!0)},OV=Tq.charAt,TV=function(t,e,r){return e+(r?OV(t,e).length:1)},PV=u,IV=De,CV=U,RV=k,DV=JG,LV=TypeError,jV=function(t,e){var r=t.exec;if(CV(r)){var n=PV(r,t,e);return null!==n&&IV(n),n}if("RegExp"===RV(t))return PV(DV,t,e);throw new LV("RegExp#exec called on incompatible receiver")},NV=u,FV=MV,zV=De,UV=$,BV=fn,$V=gi,YV=L,GV=wt,HV=TV,WV=sY,qV=jV,VV=A("".indexOf);FV("match",function(t,e,r){return[function(e){var r=YV(this),n=UV(e)?GV(e,t):void 0;return n?NV(n,e,r):new RegExp(e)[t]($V(r))},function(t){var n=zV(this),i=$V(t),o=r(e,n,i);if(o.done)return o.value;var a=$V(WV(n));if(-1===VV(a,"g"))return qV(n,i);var s=-1!==VV(a,"u");n.lastIndex=0;for(var c,l=[],u=0;null!==(c=qV(n,i));){var h=$V(c[0]);l[u]=h,""===h&&(n.lastIndex=HV(i,BV(n.lastIndex),s)),u++}return 0===u?null:l}]});var XV=ni,KV=u,QV=mo,JV=Wp,ZV=dg,tX=L,eX=fn,rX=gi,nX=De,iX=$,oX=V$,aX=sY,sX=wt,cX=Jr,lX=o,uX=bj,hX=TV,fX=jV,dX=Pr,pX=re("matchAll"),gX="RegExp String",vX=gX+" Iterator",yX=dX.set,mX=dX.getterFor(vX),bX=RegExp.prototype,xX=TypeError,wX=QV("".indexOf),AX=QV("".matchAll),_X=!!AX&&!lX(function(){AX("a",/./)}),EX=JV(function(t,e,r,n){yX(this,{type:vX,regexp:t,string:e,global:r,unicode:n,done:!1})},gX,function(){var t=mX(this);if(t.done)return ZV(void 0,!0);var e=t.regexp,r=t.string,n=fX(e,r);return null===n?(t.done=!0,ZV(void 0,!0)):t.global?(""===rX(n[0])&&(e.lastIndex=hX(r,eX(e.lastIndex),t.unicode)),ZV(n,!1)):(t.done=!0,ZV(n,!1))}),SX=function(t){var e,r,n,i=nX(this),o=rX(t),a=uX(i,RegExp),s=rX(aX(i));return e=new a(a===RegExp?i.source:i,s),r=!!~wX(s,"g"),n=!!~wX(s,"u"),e.lastIndex=eX(i.lastIndex),new EX(e,o,r,n)};XV({target:"String",proto:!0,forced:_X},{matchAll:function(t){var e,r,n,i=tX(this);if(iX(t)){if(oX(t)&&(e=rX(tX(aX(t))),!~wX(e,"g")))throw new xX("`.matchAll` does not allow non-global regexes");if(_X)return AX(i,t);if(n=sX(t,pX))return KV(n,t,i)}else if(_X)return AX(i,t);return r=rX(i),new RegExp(t,"g")[pX](r)}}),pX in bX||cX(bX,pX,SX);var kX=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(X),MX=UA.end;ni({target:"String",proto:!0,forced:kX},{padEnd:function(t){return MX(this,t,arguments.length>1?arguments[1]:void 0)}});var OX=UA.start;ni({target:"String",proto:!0,forced:kX},{padStart:function(t){return OX(this,t,arguments.length>1?arguments[1]:void 0)}});var TX=ni,PX=A,IX=F,CX=zt,RX=gi,DX=pn,LX=PX([].push),jX=PX([].join);TX({target:"String",stat:!0},{raw:function(t){var e=IX(CX(t).raw),r=DX(e);if(!r)return"";for(var n=arguments.length,i=[],o=0;;){if(LX(i,RX(e[o++])),o===r)return jX(i,"");o<n&&LX(i,RX(arguments[o]))}}}),ni({target:"String",proto:!0},{repeat:IA});var NX=A,FX=zt,zX=Math.floor,UX=NX("".charAt),BX=NX("".replace),$X=NX("".slice),YX=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,GX=/\$([$&'`]|\d{1,2})/g,HX=function(t,e,r,n,i,o){var a=r+t.length,s=n.length,c=GX;return void 0!==i&&(i=FX(i),c=YX),BX(o,c,function(o,c){var l;switch(UX(c,0)){case"$":return"$";case"&":return t;case"`":return $X(e,0,r);case"'":return $X(e,a);case"<":l=i[$X(c,1,-1)];break;default:var u=+c;if(0===u)return o;if(u>s){var h=zX(u/10);return 0===h?o:h<=s?void 0===n[h-1]?UX(c,1):n[h-1]+UX(c,1):o}l=n[u-1]}return void 0===l?"":l})},WX=Os,qX=u,VX=A,XX=MV,KX=o,QX=De,JX=U,ZX=$,tK=on,eK=fn,rK=gi,nK=L,iK=TV,oK=wt,aK=HX,sK=sY,cK=jV,lK=re("replace"),uK=Math.max,hK=Math.min,fK=VX([].concat),dK=VX([].push),pK=VX("".indexOf),gK=VX("".slice),vK=function(t){return void 0===t?t:String(t)},yK="$0"==="a".replace(/./,"$0"),mK=!!/./[lK]&&""===/./[lK]("a","$0"),bK=!KX(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")});XX("replace",function(t,e,r){var n=mK?"$":"$0";return[function(t,r){var n=nK(this),i=ZX(t)?oK(t,lK):void 0;return i?qX(i,t,n,r):qX(e,rK(n),t,r)},function(t,i){var o=QX(this),a=rK(t);if("string"==typeof i&&-1===pK(i,n)&&-1===pK(i,"$<")){var s=r(e,o,a,i);if(s.done)return s.value}var c=JX(i);c||(i=rK(i));var l,u=rK(sK(o)),h=-1!==pK(u,"g");h&&(l=-1!==pK(u,"u"),o.lastIndex=0);for(var f,d=[];null!==(f=cK(o,a))&&(dK(d,f),h);){""===rK(f[0])&&(o.lastIndex=iK(a,eK(o.lastIndex),l))}for(var p="",g=0,v=0;v<d.length;v++){for(var y,m=rK((f=d[v])[0]),b=uK(hK(tK(f.index),a.length),0),x=[],w=1;w<f.length;w++)dK(x,vK(f[w]));var A=f.groups;if(c){var _=fK([m],x,b,a);void 0!==A&&dK(_,A),y=rK(WX(i,void 0,_))}else y=aK(m,a,b,x,A,i);b>=g&&(p+=gK(a,g,b)+y,g=b+m.length)}return p+gK(a,g)}]},!bK||!yK||mK);var xK=ni,wK=u,AK=A,_K=L,EK=U,SK=$,kK=V$,MK=gi,OK=wt,TK=sY,PK=HX,IK=re("replace"),CK=TypeError,RK=AK("".indexOf);AK("".replace);var DK=AK("".slice),LK=Math.max;xK({target:"String",proto:!0},{replaceAll:function(t,e){var r,n,i,o,a,s,c,l,u,h=_K(this),f=0,d="";if(SK(t)){if(kK(t)&&(r=MK(_K(TK(t))),!~RK(r,"g")))throw new CK("`.replaceAll` does not allow non-global regexes");if(n=OK(t,IK))return wK(n,t,h,e)}for(i=MK(h),o=MK(t),(a=EK(e))||(e=MK(e)),s=o.length,c=LK(1,s),l=RK(i,o);-1!==l;)u=a?MK(e(o,l,i)):PK(o,i,l,[],void 0,e),d+=DK(i,f,l)+u,f=l+s,l=l+c>i.length?-1:RK(i,o,l+c);return f<i.length&&(d+=DK(i,f)),d}});var jK=u,NK=De,FK=$,zK=L,UK=aL,BK=gi,$K=wt,YK=jV;MV("search",function(t,e,r){return[function(e){var r=zK(this),n=FK(e)?$K(e,t):void 0;return n?jK(n,e,r):new RegExp(e)[t](BK(r))},function(t){var n=NK(this),i=BK(t),o=r(e,n,i);if(o.done)return o.value;var a=n.lastIndex;UK(a,0)||(n.lastIndex=0);var s=YK(n,i);return UK(n.lastIndex,a)||(n.lastIndex=a),null===s?-1:s.index}]});var GK=u,HK=A,WK=MV,qK=De,VK=$,XK=L,KK=bj,QK=TV,JK=fn,ZK=gi,tQ=wt,eQ=jV,rQ=o,nQ=dY.UNSUPPORTED_Y,iQ=Math.min,oQ=HK([].push),aQ=HK("".slice),sQ=!rQ(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),cQ="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;WK("split",function(t,e,r){var n="0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:GK(e,this,t,r)}:e;return[function(e,r){var i=XK(this),o=VK(e)?tQ(e,t):void 0;return o?GK(o,e,i,r):GK(n,ZK(i),e,r)},function(t,i){var o=qK(this),a=ZK(t);if(!cQ){var s=r(n,o,a,i,n!==e);if(s.done)return s.value}var c=KK(o,RegExp),l=o.unicode,u=(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.unicode?"u":"")+(nQ?"g":"y"),h=new c(nQ?"^(?:"+o.source+")":o,u),f=void 0===i?4294967295:i>>>0;if(0===f)return[];if(0===a.length)return null===eQ(h,a)?[a]:[];for(var d=0,p=0,g=[];p<a.length;){h.lastIndex=nQ?0:p;var v,y=eQ(h,nQ?aQ(a,p):a);if(null===y||(v=iQ(JK(h.lastIndex+(nQ?p:0)),a.length))===d)p=QK(a,p,l);else{if(oQ(g,aQ(a,d,p)),g.length===f)return g;for(var m=1;m<=y.length-1;m++)if(oQ(g,y[m]),g.length===f)return g;p=d=v}}return oQ(g,aQ(a,d)),g}]},cQ||!sQ,nQ);var lQ=ni,uQ=mo,hQ=i.f,fQ=fn,dQ=gi,pQ=Rq,gQ=L,vQ=Lq,yQ=uQ("".slice),mQ=Math.min,bQ=vQ("startsWith"),xQ=!bQ&&!!function(){var t=hQ(String.prototype,"startsWith");return t&&!t.writable}();lQ({target:"String",proto:!0,forced:!xQ&&!bQ},{startsWith:function(t){var e=dQ(gQ(this));pQ(t);var r=fQ(mQ(arguments.length>1?arguments[1]:void 0,e.length)),n=dQ(t);return yQ(e,r,r+n.length)===n}});var wQ=ni,AQ=L,_Q=on,EQ=gi,SQ=A("".slice),kQ=Math.max,MQ=Math.min;wQ({target:"String",proto:!0,forced:!"".substr||"b"!=="ab".substr(-1)},{substr:function(t,e){var r,n,i=EQ(AQ(this)),o=i.length,a=_Q(t);return a===1/0&&(a=0),a<0&&(a=kQ(o+a,0)),(r=void 0===e?o:_Q(e))<=0||r===1/0||a>=(n=MQ(a+r,o))?"":SQ(i,a,n)}});var OQ=ni,TQ=u,PQ=A,IQ=L,CQ=gi,RQ=o,DQ=Array,LQ=PQ("".charAt),jQ=PQ("".charCodeAt),NQ=PQ([].join),FQ="".toWellFormed,zQ=FQ&&RQ(function(){return"1"!==TQ(FQ,1)});OQ({target:"String",proto:!0,forced:zQ},{toWellFormed:function(){var t=CQ(IQ(this));if(zQ)return TQ(FQ,t);for(var e=t.length,r=DQ(e),n=0;n<e;n++){var i=jQ(t,n);55296!=(63488&i)?r[n]=LQ(t,n):i>=56320||n+1>=e||56320!=(64512&jQ(t,n+1))?r[n]="�":(r[n]=LQ(t,n),r[++n]=LQ(t,n))}return NQ(r,"")}});var UQ=er.PROPER,BQ=o,$Q=$I,YQ=function(t){return BQ(function(){return!!$Q[t]()||"
"!=="
"[t]()||UQ&&$Q[t].name!==t})},GQ=KI.trim;ni({target:"String",proto:!0,forced:YQ("trim")},{trim:function(){return GQ(this)}});var HQ=KI.end,WQ=YQ("trimEnd")?function(){return HQ(this)}:"".trimEnd;ni({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==WQ},{trimRight:WQ});ni({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==WQ},{trimEnd:WQ});var qQ=KI.start,VQ=YQ("trimStart")?function(){return qQ(this)}:"".trimStart;ni({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==VQ},{trimLeft:VQ});ni({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==VQ},{trimStart:VQ});var XQ=L,KQ=gi,QQ=/"/g,JQ=A("".replace),ZQ=function(t,e,r,n){var i=KQ(XQ(t)),o="<"+e;return""!==r&&(o+=" "+r+'="'+JQ(KQ(n),QQ,""")+'"'),o+">"+i+"</"+e+">"},tJ=o,eJ=function(t){return tJ(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3})},rJ=ZQ;ni({target:"String",proto:!0,forced:eJ("anchor")},{anchor:function(t){return rJ(this,"a","name",t)}});var nJ=ZQ;ni({target:"String",proto:!0,forced:eJ("big")},{big:function(){return nJ(this,"big","","")}});var iJ=ZQ;ni({target:"String",proto:!0,forced:eJ("blink")},{blink:function(){return iJ(this,"blink","","")}});var oJ=ZQ;ni({target:"String",proto:!0,forced:eJ("bold")},{bold:function(){return oJ(this,"b","","")}});var aJ=ZQ;ni({target:"String",proto:!0,forced:eJ("fixed")},{fixed:function(){return aJ(this,"tt","","")}});var sJ=ZQ;ni({target:"String",proto:!0,forced:eJ("fontcolor")},{fontcolor:function(t){return sJ(this,"font","color",t)}});var cJ=ZQ;ni({target:"String",proto:!0,forced:eJ("fontsize")},{fontsize:function(t){return cJ(this,"font","size",t)}});var lJ=ZQ;ni({target:"String",proto:!0,forced:eJ("italics")},{italics:function(){return lJ(this,"i","","")}});var uJ=ZQ;ni({target:"String",proto:!0,forced:eJ("link")},{link:function(t){return uJ(this,"a","href",t)}});var hJ=ZQ;ni({target:"String",proto:!0,forced:eJ("small")},{small:function(){return hJ(this,"small","","")}});var fJ=ZQ;ni({target:"String",proto:!0,forced:eJ("strike")},{strike:function(){return fJ(this,"strike","","")}});var dJ=ZQ;ni({target:"String",proto:!0,forced:eJ("sub")},{sub:function(){return dJ(this,"sub","","")}});var pJ=ZQ;ni({target:"String",proto:!0,forced:eJ("sup")},{sup:function(){return pJ(this,"sup","","")}});var gJ={exports:{}},vJ=n,yJ=o,mJ=bp,bJ=Px.NATIVE_ARRAY_BUFFER_VIEWS,xJ=vJ.ArrayBuffer,wJ=vJ.Int8Array,AJ=!bJ||!yJ(function(){wJ(1)})||!yJ(function(){new wJ(-1)})||!mJ(function(t){new wJ,new wJ(null),new wJ(1.5),new wJ(t)},!0)||yJ(function(){return 1!==new wJ(new xJ(2),1,void 0).length}),_J=VS,EJ=RangeError,SJ=function(t,e){var r=_J(t);if(r%e)throw new EJ("Wrong offset");return r},kJ=Math.round,MJ=fi,OJ=function(t){var e=MJ(t);return"BigInt64Array"===e||"BigUint64Array"===e},TJ=ue,PJ=TypeError,IJ=function(t){var e=TJ(t,"number");if("number"==typeof e)throw new PJ("Can't convert number to bigint");return BigInt(e)},CJ=Ao,RJ=u,DJ=pj,LJ=zt,jJ=pn,NJ=sh,FJ=th,zJ=Vu,UJ=OJ,BJ=Px.aTypedArrayConstructor,$J=IJ,YJ=function(t){var e,r,n,i,o,a,s,c,l=DJ(this),u=LJ(t),h=arguments.length,f=h>1?arguments[1]:void 0,d=void 0!==f,p=FJ(u);if(p&&!zJ(p))for(c=(s=NJ(u,p)).next,u=[];!(a=RJ(c,s)).done;)u.push(a.value);for(d&&h>2&&(f=CJ(f,arguments[2])),r=jJ(u),n=new(BJ(l))(r),i=UJ(n),e=0;r>e;e++)o=d?f(u[e],e):u[e],n[e]=i?$J(o):+o;return n},GJ=ni,HJ=n,WJ=u,qJ=a,VJ=AJ,XJ=Px,KJ=$b,QJ=xm,JJ=y,ZJ=Ve,tZ=kC,eZ=fn,rZ=Em,nZ=SJ,iZ=function(t){var e=kJ(t);return e<0?0:e>255?255:255&e},oZ=de,aZ=$t,sZ=fi,cZ=$,lZ=ft,uZ=Bi,hZ=W,fZ=Al,dZ=Zr.f,pZ=YJ,gZ=Jo.forEach,vZ=vy,yZ=Qi,mZ=Te,bZ=i,xZ=Ny,wZ=Ol,AZ=Pr.get,_Z=Pr.set,EZ=Pr.enforce,SZ=mZ.f,kZ=bZ.f,MZ=HJ.RangeError,OZ=KJ.ArrayBuffer,TZ=OZ.prototype,PZ=KJ.DataView,IZ=XJ.NATIVE_ARRAY_BUFFER_VIEWS,CZ=XJ.TYPED_ARRAY_TAG,RZ=XJ.TypedArray,DZ=XJ.TypedArrayPrototype,LZ=XJ.isTypedArray,jZ="BYTES_PER_ELEMENT",NZ="Wrong length",FZ=function(t,e){yZ(t,e,{configurable:!0,get:function(){return AZ(this)[e]}})},zZ=function(t){var e;return hZ(TZ,t)||"ArrayBuffer"===(e=sZ(t))||"SharedArrayBuffer"===e},UZ=function(t,e){return LZ(t)&&!lZ(e)&&e in t&&tZ(+e)&&e>=0},BZ=function(t,e){return e=oZ(e),UZ(t,e)?JJ(2,t[e]):kZ(t,e)},$Z=function(t,e,r){return e=oZ(e),!(UZ(t,e)&&cZ(r)&&aZ(r,"value"))||aZ(r,"get")||aZ(r,"set")||r.configurable||aZ(r,"writable")&&!r.writable||aZ(r,"enumerable")&&!r.enumerable?SZ(t,e,r):(t[e]=r.value,t)};qJ?(IZ||(bZ.f=BZ,mZ.f=$Z,FZ(DZ,"buffer"),FZ(DZ,"byteOffset"),FZ(DZ,"byteLength"),FZ(DZ,"length")),GJ({target:"Object",stat:!0,forced:!IZ},{getOwnPropertyDescriptor:BZ,defineProperty:$Z}),gJ.exports=function(t,e,r){var n=t.match(/\d+/)[0]/8,i=t+(r?"Clamped":"")+"Array",o="get"+t,a="set"+t,s=HJ[i],c=s,l=c&&c.prototype,u={},h=function(t,e){SZ(t,e,{get:function(){return function(t,e){var r=AZ(t);return r.view[o](e*n+r.byteOffset,!0)}(this,e)},set:function(t){return function(t,e,i){var o=AZ(t);o.view[a](e*n+o.byteOffset,r?iZ(i):i,!0)}(this,e,t)},enumerable:!0})};IZ?VJ&&(c=e(function(t,e,r,i){return QJ(t,l),wZ(cZ(e)?zZ(e)?void 0!==i?new s(e,nZ(r,n),i):void 0!==r?new s(e,nZ(r,n)):new s(e):LZ(e)?xZ(c,e):WJ(pZ,c,e):new s(rZ(e)),t,c)}),fZ&&fZ(c,RZ),gZ(dZ(s),function(t){t in c||ZJ(c,t,s[t])}),c.prototype=l):(c=e(function(t,e,r,i){QJ(t,l);var o,a,s,u=0,f=0;if(cZ(e)){if(!zZ(e))return LZ(e)?xZ(c,e):WJ(pZ,c,e);o=e,f=nZ(r,n);var d=e.byteLength;if(void 0===i){if(d%n)throw new MZ(NZ);if((a=d-f)<0)throw new MZ(NZ)}else if((a=eZ(i)*n)+f>d)throw new MZ(NZ);s=a/n}else s=rZ(e),o=new OZ(a=s*n);for(_Z(t,{buffer:o,byteOffset:f,byteLength:a,length:s,view:new PZ(o)});u<s;)h(t,u++)}),fZ&&fZ(c,RZ),l=c.prototype=uZ(DZ)),l.constructor!==c&&ZJ(l,"constructor",c),EZ(l).TypedArrayConstructor=c,CZ&&ZJ(l,CZ,i);var f=c!==s;u[i]=c,GJ({global:!0,constructor:!0,forced:f,sham:!IZ},u),jZ in c||ZJ(c,jZ,n),jZ in l||ZJ(l,jZ,n),vZ(i)}):gJ.exports=function(){},(0,gJ.exports)("Float32",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,gJ.exports)("Float64",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,gJ.exports)("Int8",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,gJ.exports)("Int16",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,gJ.exports)("Int32",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,gJ.exports)("Uint8",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,gJ.exports)("Uint8",function(t){return function(e,r,n){return t(this,e,r,n)}},!0),(0,gJ.exports)("Uint16",function(t){return function(e,r,n){return t(this,e,r,n)}}),(0,gJ.exports)("Uint32",function(t){return function(e,r,n){return t(this,e,r,n)}});var YZ=pn,GZ=on,HZ=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("at",function(t){var e=HZ(this),r=YZ(e),n=GZ(t),i=n>=0?n:r+n;return i<0||i>=r?void 0:e[i]});var WZ=Px,qZ=A(od),VZ=WZ.aTypedArray;(0,WZ.exportTypedArrayMethod)("copyWithin",function(t,e){return qZ(VZ(this),t,e,arguments.length>2?arguments[2]:void 0)});var XZ=Jo.every,KZ=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("every",function(t){return XZ(KZ(this),t,arguments.length>1?arguments[1]:void 0)});var QZ=dd,JZ=IJ,ZZ=fi,t0=u,e0=o,r0=Px.aTypedArray,n0=Px.exportTypedArrayMethod,i0=A("".slice),o0=e0(function(){var t=0;return new Int8Array(2).fill({valueOf:function(){return t++}}),1!==t});n0("fill",function(t){var e=arguments.length;r0(this);var r="Big"===i0(ZZ(this),0,3)?JZ(t):+t;return t0(QZ,this,r,e>1?arguments[1]:void 0,e>2?arguments[2]:void 0)},o0);var a0=Ny,s0=Px.getTypedArrayConstructor,c0=Jo.filter,l0=function(t,e){return a0(s0(t),e)},u0=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("filter",function(t){var e=c0(u0(this),t,arguments.length>1?arguments[1]:void 0);return l0(this,e)});var h0=Jo.find,f0=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("find",function(t){return h0(f0(this),t,arguments.length>1?arguments[1]:void 0)});var d0=Jo.findIndex,p0=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("findIndex",function(t){return d0(p0(this),t,arguments.length>1?arguments[1]:void 0)});var g0=Id.findLast,v0=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("findLast",function(t){return g0(v0(this),t,arguments.length>1?arguments[1]:void 0)});var y0=Id.findLastIndex,m0=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("findLastIndex",function(t){return y0(m0(this),t,arguments.length>1?arguments[1]:void 0)});var b0=Jo.forEach,x0=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("forEach",function(t){b0(x0(this),t,arguments.length>1?arguments[1]:void 0)}),(0,Px.exportTypedArrayStaticMethod)("from",YJ,AJ);var w0=bn.includes,A0=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("includes",function(t){return w0(A0(this),t,arguments.length>1?arguments[1]:void 0)});var _0=bn.indexOf,E0=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("indexOf",function(t){return _0(E0(this),t,arguments.length>1?arguments[1]:void 0)});var S0=n,k0=o,M0=A,O0=Px,T0=Sg,P0=re("iterator"),I0=S0.Uint8Array,C0=M0(T0.values),R0=M0(T0.keys),D0=M0(T0.entries),L0=O0.aTypedArray,j0=O0.exportTypedArrayMethod,N0=I0&&I0.prototype,F0=!k0(function(){N0[P0].call([1])}),z0=!!N0&&N0.values&&N0[P0]===N0.values&&"values"===N0.values.name,U0=function(){return C0(L0(this))};j0("entries",function(){return D0(L0(this))},F0),j0("keys",function(){return R0(L0(this))},F0),j0("values",U0,F0||!z0,{name:"values"}),j0(P0,U0,F0||!z0,{name:"values"});var B0=Px.aTypedArray,$0=Px.exportTypedArrayMethod,Y0=A([].join);$0("join",function(t){return Y0(B0(this),t)});var G0=Os,H0=Bg,W0=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("lastIndexOf",function(t){var e=arguments.length;return G0(H0,W0(this),e>1?[t,arguments[1]]:[t])});var q0=Jo.map,V0=Px.aTypedArray,X0=Px.getTypedArrayConstructor;(0,Px.exportTypedArrayMethod)("map",function(t){return q0(V0(this),t,arguments.length>1?arguments[1]:void 0,function(t,e){return new(X0(t))(e)})});var K0=Px.aTypedArrayConstructor;(0,Px.exportTypedArrayStaticMethod)("of",function(){for(var t=0,e=arguments.length,r=new(K0(this))(e);e>t;)r[t]=arguments[t++];return r},AJ);var Q0=cv.left,J0=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("reduce",function(t){var e=arguments.length;return Q0(J0(this),t,e,e>1?arguments[1]:void 0)});var Z0=cv.right,t1=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("reduceRight",function(t){var e=arguments.length;return Z0(t1(this),t,e,e>1?arguments[1]:void 0)});var e1=Px.aTypedArray,r1=Px.exportTypedArrayMethod,n1=Math.floor;r1("reverse",function(){for(var t,e=this,r=e1(e).length,n=n1(r/2),i=0;i<n;)t=e[i],e[i++]=e[--r],e[r]=t;return e});var i1=n,o1=u,a1=Px,s1=pn,c1=SJ,l1=zt,u1=o,h1=i1.RangeError,f1=i1.Int8Array,d1=f1&&f1.prototype,p1=d1&&d1.set,g1=a1.aTypedArray,v1=a1.exportTypedArrayMethod,y1=!u1(function(){var t=new Uint8ClampedArray(2);return o1(p1,t,{length:1,0:3},1),3!==t[1]}),m1=y1&&a1.NATIVE_ARRAY_BUFFER_VIEWS&&u1(function(){var t=new f1(2);return t.set(1),t.set("2",1),0!==t[0]||2!==t[1]});v1("set",function(t){g1(this);var e=c1(arguments.length>1?arguments[1]:void 0,1),r=l1(t);if(y1)return o1(p1,this,r,e);var n=this.length,i=s1(r),o=0;if(i+e>n)throw new h1("Wrong length");for(;o<i;)this[e+o]=r[o++]},!y1||m1);var b1=Yi,x1=Px.aTypedArray,w1=Px.getTypedArrayConstructor;(0,Px.exportTypedArrayMethod)("slice",function(t,e){for(var r=b1(x1(this),t,e),n=w1(this),i=0,o=r.length,a=new n(o);o>i;)a[i]=r[i++];return a},o(function(){new Int8Array(1).slice()}));var A1=Jo.some,_1=Px.aTypedArray;(0,Px.exportTypedArrayMethod)("some",function(t){return A1(_1(this),t,arguments.length>1?arguments[1]:void 0)});var E1=mo,S1=o,k1=mt,M1=zv,O1=Bv,T1=$v,P1=rt,I1=Gv,C1=Px.aTypedArray,R1=Px.exportTypedArrayMethod,D1=n.Uint16Array,L1=D1&&E1(D1.prototype.sort),j1=!(!L1||S1(function(){L1(new D1(2),null)})&&S1(function(){L1(new D1(2),{})})),N1=!!L1&&!S1(function(){if(P1)return P1<74;if(O1)return O1<67;if(T1)return!0;if(I1)return I1<602;var t,e,r=new D1(516),n=Array(516);for(t=0;t<516;t++)e=t%4,r[t]=515-t,n[t]=t-2*e+3;for(L1(r,function(t,e){return(t/4|0)-(e/4|0)}),t=0;t<516;t++)if(r[t]!==n[t])return!0});R1("sort",function(t){return void 0!==t&&k1(t),N1?L1(this,t):M1(C1(this),function(t){return function(e,r){return void 0!==t?+t(e,r)||0:r!=r?-1:e!=e?1:0===e&&0===r?1/e>0&&1/r<0?1:-1:e>r}}(t))},!N1||j1);var F1=fn,z1=ln,U1=Px.aTypedArray,B1=Px.getTypedArrayConstructor;(0,Px.exportTypedArrayMethod)("subarray",function(t,e){var r=U1(this),n=r.length,i=z1(t,n);return new(B1(r))(r.buffer,r.byteOffset+i*r.BYTES_PER_ELEMENT,F1((void 0===e?n:z1(e,n))-i))});var $1=Os,Y1=Px,G1=o,H1=Yi,W1=n.Int8Array,q1=Y1.aTypedArray,V1=Y1.exportTypedArrayMethod,X1=[].toLocaleString,K1=!!W1&&G1(function(){X1.call(new W1(1))});V1("toLocaleString",function(){return $1(X1,K1?H1(q1(this)):q1(this),H1(arguments))},G1(function(){return[1,2].toLocaleString()!==new W1([1,2]).toLocaleString()})||!G1(function(){W1.prototype.toLocaleString.call([1,2])}));var Q1=Iy,J1=Px.aTypedArray,Z1=Px.getTypedArrayConstructor;(0,Px.exportTypedArrayMethod)("toReversed",function(){return Q1(J1(this),Z1(this))});var t2=mt,e2=Ny,r2=Px.aTypedArray,n2=Px.getTypedArrayConstructor,i2=Px.exportTypedArrayMethod,o2=A(Px.TypedArrayPrototype.sort);i2("toSorted",function(t){void 0!==t&&t2(t);var e=r2(this),r=e2(n2(e),e);return o2(r,t)});var a2=Px.exportTypedArrayMethod,s2=o,c2=A,l2=n.Uint8Array,u2=l2&&l2.prototype||{},h2=[].toString,f2=c2([].join);s2(function(){h2.call({})})&&(h2=function(){return f2(this)});var d2=u2.toString!==h2;a2("toString",h2,d2);var p2=hm,g2=OJ,v2=on,y2=IJ,m2=Px.aTypedArray,b2=Px.getTypedArrayConstructor,x2=Px.exportTypedArrayMethod,w2=function(){try{new Int8Array(1).with(2,{valueOf:function(){throw 8}})}catch(t){return 8===t}}(),A2=w2&&function(){try{new Int8Array(1).with(-.5,1)}catch(t){return!0}}();x2("with",{with:function(t,e){var r=m2(this),n=v2(t),i=g2(r)?y2(e):+e;return p2(r,b2(r),n,i)}}.with,!w2||A2);var _2=$,E2=String,S2=TypeError,k2=function(t){if(void 0===t||_2(t))return t;throw new S2(E2(t)+" is not an object or undefined")},M2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",O2=M2+"+/",T2=M2+"-_",P2=function(t){for(var e={},r=0;r<64;r++)e[t.charAt(r)]=r;return e},I2={i2c:O2,c2i:P2(O2),i2cUrl:T2,c2iUrl:P2(T2)},C2=TypeError,R2=function(t){var e=t&&t.alphabet;if(void 0===e||"base64"===e||"base64url"===e)return e||"base64";throw new C2("Incorrect `alphabet` option")},D2=n,L2=A,j2=k2,N2=sG,F2=$t,z2=R2,U2=Tw,B2=I2.c2i,$2=I2.c2iUrl,Y2=D2.SyntaxError,G2=D2.TypeError,H2=L2("".charAt),W2=function(t,e){for(var r=t.length;e<r;e++){var n=H2(t,e);if(" "!==n&&"\t"!==n&&"\n"!==n&&"\f"!==n&&"\r"!==n)break}return e},q2=function(t,e,r){var n=t.length;n<4&&(t+=2===n?"AA":"A");var i=(e[H2(t,0)]<<18)+(e[H2(t,1)]<<12)+(e[H2(t,2)]<<6)+e[H2(t,3)],o=[i>>16&255,i>>8&255,255&i];if(2===n){if(r&&0!==o[1])throw new Y2("Extra bits");return[o[0]]}if(3===n){if(r&&0!==o[2])throw new Y2("Extra bits");return[o[0],o[1]]}return o},V2=function(t,e,r){for(var n=e.length,i=0;i<n;i++)t[r+i]=e[i];return r+n},X2=function(t,e,r,n){N2(t),j2(e);var i="base64"===z2(e)?B2:$2,o=e?e.lastChunkHandling:void 0;if(void 0===o&&(o="loose"),"loose"!==o&&"strict"!==o&&"stop-before-partial"!==o)throw new G2("Incorrect `lastChunkHandling` option");r&&U2(r.buffer);var a=t.length,s=r||[],c=0,l=0,u="",h=0;if(n)for(;;){if((h=W2(t,h))===a){if(u.length>0){if("stop-before-partial"===o)break;if("loose"!==o)throw new Y2("Missing padding");if(1===u.length)throw new Y2("Malformed padding: exactly one additional character");c=V2(s,q2(u,i,!1),c)}l=a;break}var f=H2(t,h);if(++h,"="===f){if(u.length<2)throw new Y2("Padding is too early");if(h=W2(t,h),2===u.length){if(h===a){if("stop-before-partial"===o)break;throw new Y2("Malformed padding: only one =")}"="===H2(t,h)&&(++h,h=W2(t,h))}if(h<a)throw new Y2("Unexpected character after padding");c=V2(s,q2(u,i,"strict"===o),c),l=a;break}if(!F2(i,f))throw new Y2("Unexpected character");var d=n-c;if(1===d&&2===u.length||2===d&&3===u.length)break;if(4===(u+=f).length&&(c=V2(s,q2(u,i,!1),c),u="",l=h,c===n))break}return{bytes:s,read:l,written:c}},K2=ni,Q2=Ny,J2=X2,Z2=n.Uint8Array,t3=!Z2||!Z2.fromBase64||!function(){try{return void Z2.fromBase64("a")}catch(t){}try{Z2.fromBase64("",null)}catch(t){return!0}}();Z2&&K2({target:"Uint8Array",stat:!0,forced:t3},{fromBase64:function(t){var e=J2(t,arguments.length>1?arguments[1]:void 0,null,9007199254740991);return Q2(Z2,e.bytes)}});var e3=n,r3=A,n3=e3.Uint8Array,i3=e3.SyntaxError,o3=e3.parseInt,a3=Math.min,s3=/[^\da-f]/i,c3=r3(s3.exec),l3=r3("".slice),u3=function(t,e){var r=t.length;if(r%2!=0)throw new i3("String should be an even number of characters");for(var n=e?a3(e.length,r/2):r/2,i=e||new n3(n),o=0,a=0;a<n;){var s=l3(t,o,o+=2);if(c3(s3,s))throw new i3("String should only contain hex characters");i[a++]=o3(s,16)}return{bytes:i,read:o}},h3=ni,f3=sG,d3=u3;n.Uint8Array&&h3({target:"Uint8Array",stat:!0},{fromHex:function(t){return d3(f3(t)).bytes}});var p3=fi,g3=TypeError,v3=function(t){if("Uint8Array"===p3(t))return t;throw new g3("Argument is not an Uint8Array")},y3=ni,m3=X2,b3=v3,x3=n.Uint8Array,w3=!x3||!x3.prototype.setFromBase64||!function(){var t=new x3([255,255,255,255,255]);try{return void t.setFromBase64("",null)}catch(t){}try{return void t.setFromBase64("a")}catch(t){}try{t.setFromBase64("MjYyZg===")}catch(e){return 50===t[0]&&54===t[1]&&50===t[2]&&255===t[3]&&255===t[4]}}();x3&&y3({target:"Uint8Array",proto:!0,forced:w3},{setFromBase64:function(t){b3(this);var e=m3(t,arguments.length>1?arguments[1]:void 0,this,this.length);return{read:e.read,written:e.written}}});var A3=ni,_3=sG,E3=v3,S3=Tw,k3=u3;n.Uint8Array&&A3({target:"Uint8Array",proto:!0},{setFromHex:function(t){E3(this),_3(t),S3(this.buffer);var e=k3(t,this).read;return{read:e,written:e/2}}});var M3=ni,O3=n,T3=k2,P3=v3,I3=Tw,C3=R2,R3=I2.i2c,D3=I2.i2cUrl,L3=A("".charAt),j3=O3.Uint8Array,N3=!j3||!j3.prototype.toBase64||!function(){try{(new j3).toBase64(null)}catch(t){return!0}}();j3&&M3({target:"Uint8Array",proto:!0,forced:N3},{toBase64:function(){var t=P3(this),e=arguments.length?T3(arguments[0]):void 0,r="base64"===C3(e)?R3:D3,n=!!e&&!!e.omitPadding;I3(this.buffer);for(var i,o="",a=0,s=t.length,c=function(t){return L3(r,i>>6*t&63)};a+2<s;a+=3)i=(t[a]<<16)+(t[a+1]<<8)+t[a+2],o+=c(3)+c(2)+c(1)+c(0);return a+2===s?(i=(t[a]<<16)+(t[a+1]<<8),o+=c(3)+c(2)+c(1)+(n?"":"=")):a+1===s&&(i=t[a]<<16,o+=c(3)+c(2)+(n?"":"==")),o}});var F3=ni,z3=n,U3=v3,B3=Tw,$3=A(1.1.toString),Y3=z3.Uint8Array,G3=!Y3||!Y3.prototype.toHex||!function(){try{return"ffffffffffffffff"===new Y3([255,255,255,255,255,255,255,255]).toHex()}catch(t){return!1}}();Y3&&F3({target:"Uint8Array",proto:!0,forced:G3},{toHex:function(){U3(this),B3(this.buffer);for(var t="",e=0,r=this.length;e<r;e++){var n=$3(this[e],16);t+=1===n.length?"0"+n:n}return t}});var H3=ni,W3=A,q3=gi,V3=String.fromCharCode,X3=W3("".charAt),K3=W3(/./.exec),Q3=W3("".slice),J3=/^[\da-f]{2}$/i,Z3=/^[\da-f]{4}$/i;H3({global:!0},{unescape:function(t){for(var e,r,n=q3(t),i="",o=n.length,a=0;a<o;){if("%"===(e=X3(n,a++)))if("u"===X3(n,a)){if(r=Q3(n,a+1,a+5),K3(Z3,r)){i+=V3(parseInt(r,16)),a+=5;continue}}else if(r=Q3(n,a,a+2),K3(J3,r)){i+=V3(parseInt(r,16)),a+=2;continue}i+=e}return i}});var t5=A,e5=ym,r5=hT.exports.getWeakData,n5=xm,i5=De,o5=C,a5=$,s5=Sh,c5=$t,l5=Pr.set,u5=Pr.getterFor,h5=Jo.find,f5=Jo.findIndex,d5=t5([].splice),p5=0,g5=function(t){return t.frozen||(t.frozen=new v5)},v5=function(){this.entries=[]},y5=function(t,e){return h5(t.entries,function(t){return t[0]===e})};v5.prototype={get:function(t){var e=y5(this,t);if(e)return e[1]},has:function(t){return!!y5(this,t)},set:function(t,e){var r=y5(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=f5(this.entries,function(e){return e[0]===t});return~e&&d5(this.entries,e,1),!!~e}};var m5,b5={getConstructor:function(t,e,r,n){var i=t(function(t,i){n5(t,o),l5(t,{type:e,id:p5++,frozen:null}),o5(i)||s5(i,t[n],{that:t,AS_ENTRIES:r})}),o=i.prototype,a=u5(e),s=function(t,e,r){var n=a(t),i=r5(i5(e),!0);return!0===i?g5(n).set(e,r):i[n.id]=r,t};return e5(o,{delete:function(t){var e=a(this);if(!a5(t))return!1;var r=r5(t);return!0===r?g5(e).delete(t):r&&c5(r,e.id)&&delete r[e.id]},has:function(t){var e=a(this);if(!a5(t))return!1;var r=r5(t);return!0===r?g5(e).has(t):r&&c5(r,e.id)}}),e5(o,r?{get:function(t){var e=a(this);if(a5(t)){var r=r5(t);if(!0===r)return g5(e).get(t);if(r)return r[e.id]}},set:function(t,e){return s(this,t,e)}}:{add:function(t){return s(this,t,!0)}}),i}},x5=XO,w5=n,A5=A,_5=ym,E5=hT.exports,S5=XT,k5=b5,M5=$,O5=Pr.enforce,T5=o,P5=fr,I5=Object,C5=Array.isArray,R5=I5.isExtensible,D5=I5.isFrozen,L5=I5.isSealed,j5=I5.freeze,N5=I5.seal,F5=!w5.ActiveXObject&&"ActiveXObject"in w5,z5=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},U5=S5("WeakMap",z5,k5),B5=U5.prototype,$5=A5(B5.set);if(P5)if(F5){m5=k5.getConstructor(z5,"WeakMap",!0),E5.enable();var Y5=A5(B5.delete),G5=A5(B5.has),H5=A5(B5.get);_5(B5,{delete:function(t){if(M5(t)&&!R5(t)){var e=O5(this);return e.frozen||(e.frozen=new m5),Y5(this,t)||e.frozen.delete(t)}return Y5(this,t)},has:function(t){if(M5(t)&&!R5(t)){var e=O5(this);return e.frozen||(e.frozen=new m5),G5(this,t)||e.frozen.has(t)}return G5(this,t)},get:function(t){if(M5(t)&&!R5(t)){var e=O5(this);return e.frozen||(e.frozen=new m5),G5(this,t)?H5(this,t):e.frozen.get(t)}return H5(this,t)},set:function(t,e){if(M5(t)&&!R5(t)){var r=O5(this);r.frozen||(r.frozen=new m5),G5(this,t)?$5(this,t,e):r.frozen.set(t,e)}else $5(this,t,e);return this}})}else x5&&T5(function(){var t=j5([]);return $5(new U5,t,1),!D5(t)})&&_5(B5,{set:function(t,e){var r;return C5(t)&&(D5(t)?r=j5:L5(t)&&(r=N5)),$5(this,t,e),r&&r(t),this}});XT("WeakSet",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},b5);var W5=ni,q5=n,V5=H,X5=A,K5=u,Q5=o,J5=gi,Z5=wj,t4=I2.c2i,e4=/[^\d+/a-z]/i,r4=/[\t\n\f\r ]+/g,n4=/[=]{1,2}$/,i4=V5("atob"),o4=String.fromCharCode,a4=X5("".charAt),s4=X5("".replace),c4=X5(e4.exec),l4=!!i4&&!Q5(function(){return"hi"!==i4("aGk=")}),u4=l4&&Q5(function(){return""!==i4(" ")}),h4=l4&&!Q5(function(){i4("a")}),f4=l4&&!Q5(function(){i4()}),d4=l4&&1!==i4.length;W5({global:!0,bind:!0,enumerable:!0,forced:!l4||u4||h4||f4||d4},{atob:function(t){if(Z5(arguments.length,1),l4&&!u4&&!h4)return K5(i4,q5,t);var e,r,n,i=s4(J5(t),r4,""),o="",a=0,s=0;if(i.length%4==0&&(i=s4(i,n4,"")),(e=i.length)%4==1||c4(e4,i))throw new(V5("DOMException"))("The string is not correctly encoded","InvalidCharacterError");for(;a<e;)r=a4(i,a++),n=s%4?64*n+t4[r]:t4[r],s++%4&&(o+=o4(255&n>>(-2*s&6)));return o}});var p4=ni,g4=n,v4=H,y4=A,m4=u,b4=o,x4=gi,w4=wj,A4=I2.i2c,_4=v4("btoa"),E4=y4("".charAt),S4=y4("".charCodeAt),k4=!!_4&&!b4(function(){return"aGk="!==_4("hi")}),M4=k4&&!b4(function(){_4()}),O4=k4&&b4(function(){return"bnVsbA=="!==_4(null)}),T4=k4&&1!==_4.length;p4({global:!0,bind:!0,enumerable:!0,forced:!k4||M4||O4||T4},{btoa:function(t){if(w4(arguments.length,1),k4)return m4(_4,g4,x4(t));for(var e,r,n=x4(t),i="",o=0,a=A4;E4(n,o)||(a="=",o%1);){if((r=S4(n,o+=3/4))>255)throw new(v4("DOMException"))("The string contains characters outside of the Latin1 range","InvalidCharacterError");i+=E4(a,63&(e=e<<8|r)>>8-o%1*8)}return i}});var P4={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},I4=ye("span").classList,C4=I4&&I4.constructor&&I4.constructor.prototype,R4=C4===Object.prototype?void 0:C4,D4=n,L4=P4,j4=R4,N4=Zd,F4=Ve,z4=function(t){if(t&&t.forEach!==N4)try{F4(t,"forEach",N4)}catch(e){t.forEach=N4}};for(var U4 in L4)L4[U4]&&z4(D4[U4]&&D4[U4].prototype);z4(j4);var B4=n,$4=P4,Y4=R4,G4=Sg,H4=Ve,W4=go,q4=re("iterator"),V4=G4.values,X4=function(t,e){if(t){if(t[q4]!==V4)try{H4(t,q4,V4)}catch(e){t[q4]=V4}if(W4(t,e,!0),$4[e])for(var r in G4)if(t[r]!==G4[r])try{H4(t,r,G4[r])}catch(e){t[r]=G4[r]}}};for(var K4 in $4)X4(B4[K4]&&B4[K4].prototype,K4);X4(Y4,"DOMTokenList");var Q4={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}},J4=ni,Z4=H,t6=Cw,e6=o,r6=Bi,n6=y,i6=Te.f,o6=Jr,a6=Qi,s6=$t,c6=xm,l6=De,u6=Iu,h6=Pl,f6=Q4,d6=zl,p6=Pr,g6=a,v6="DOMException",y6="DATA_CLONE_ERR",m6=Z4("Error"),b6=Z4(v6)||function(){try{(new(Z4("MessageChannel")||t6("worker_threads").MessageChannel)).port1.postMessage(new WeakMap)}catch(t){if(t.name===y6&&25===t.code)return t.constructor}}(),x6=b6&&b6.prototype,w6=m6.prototype,A6=p6.set,_6=p6.getterFor(v6),E6="stack"in new m6(v6),S6=function(t){return s6(f6,t)&&f6[t].m?f6[t].c:0},k6=function(){c6(this,M6);var t=arguments.length,e=h6(t<1?void 0:arguments[0]),r=h6(t<2?void 0:arguments[1],"Error"),n=S6(r);if(A6(this,{type:v6,name:r,message:e,code:n}),g6||(this.name=r,this.message=e,this.code=n),E6){var i=new m6(e);i.name=v6,i6(this,"stack",n6(1,d6(i.stack,1)))}},M6=k6.prototype=r6(w6),O6=function(t){return{enumerable:!0,configurable:!0,get:t}},T6=function(t){return O6(function(){return _6(this)[t]})};g6&&(a6(M6,"code",T6("code")),a6(M6,"message",T6("message")),a6(M6,"name",T6("name"))),i6(M6,"constructor",n6(1,k6));var P6=e6(function(){return!(new b6 instanceof m6)}),I6=P6||e6(function(){return w6.toString!==u6||"2: 1"!==String(new b6(1,2))}),C6=P6||e6(function(){return 25!==new b6(1,"DataCloneError").code});P6||25!==b6[y6]||x6[y6];J4({global:!0,constructor:!0,forced:P6},{DOMException:P6?k6:b6});var R6=Z4(v6),D6=R6.prototype;for(var L6 in I6&&b6===R6&&o6(D6,"toString",u6),C6&&g6&&b6===R6&&a6(D6,"code",O6(function(){return S6(l6(this).name)})),f6)if(s6(f6,L6)){var j6=f6[L6],N6=j6.s,F6=n6(6,j6.c);s6(R6,N6)||i6(R6,N6,F6),s6(D6,N6)||i6(D6,N6,F6)}var z6=ni,U6=n,B6=H,$6=y,Y6=Te.f,G6=$t,H6=xm,W6=Ol,q6=Pl,V6=Q4,X6=zl,K6=a,Q6="DOMException",J6=B6("Error"),Z6=B6(Q6),t8=function(){H6(this,e8);var t=arguments.length,e=q6(t<1?void 0:arguments[0]),r=q6(t<2?void 0:arguments[1],"Error"),n=new Z6(e,r),i=new J6(e);return i.name=Q6,Y6(n,"stack",$6(1,X6(i.stack,1))),W6(n,this,t8),n},e8=t8.prototype=Z6.prototype,r8="stack"in new J6(Q6),n8="stack"in new Z6(1,2),i8=Z6&&K6&&Object.getOwnPropertyDescriptor(U6,Q6),o8=!(!i8||i8.writable&&i8.configurable),a8=r8&&!o8&&!n8;z6({global:!0,constructor:!0,forced:a8},{DOMException:a8?t8:Z6});var s8=B6(Q6),c8=s8.prototype;if(c8.constructor!==s8)for(var l8 in Y6(c8,"constructor",$6(1,s8)),V6)if(G6(V6,l8)){var u8=V6[l8],h8=u8.s;G6(s8,h8)||Y6(s8,h8,$6(6,u8.c))}var f8="DOMException";go(H(f8),f8);var d8=Xj.clear;ni({global:!0,bind:!0,enumerable:!0,forced:n.clearImmediate!==d8},{clearImmediate:d8});var p8=n,g8=Os,v8=U,y8=dv,m8=X,b8=Yi,x8=wj,w8=p8.Function,A8=/MSIE .\./.test(m8)||"BUN"===y8&&function(){var t=p8.Bun.version.split(".");return t.length<3||"0"===t[0]&&(t[1]<3||"3"===t[1]&&"0"===t[2])}(),_8=function(t,e){var r=e?2:1;return A8?function(n,i){var o=x8(arguments.length,1)>r,a=v8(n)?n:w8(n),s=o?b8(arguments,r):[],c=o?function(){g8(a,this,s)}:a;return e?t(c,i):t(c)}:t},E8=ni,S8=n,k8=Xj.set,M8=_8,O8=S8.setImmediate?M8(k8,!1):k8;E8({global:!0,bind:!0,enumerable:!0,forced:S8.setImmediate!==O8},{setImmediate:O8});var T8=n,P8=SN,I8=mt,C8=wj,R8=a;ni({global:!0,enumerable:!0,dontCallGetSet:!0,forced:o(function(){return R8&&1!==Object.getOwnPropertyDescriptor(T8,"queueMicrotask").value.length})},{queueMicrotask:function(t){C8(arguments.length,1),P8(I8(t))}});var D8=ni,L8=n,j8=Qi,N8=a,F8=TypeError,z8=Object.defineProperty,U8=L8.self!==L8;try{if(N8){var B8=Object.getOwnPropertyDescriptor(L8,"self");!U8&&B8&&B8.get&&B8.enumerable||j8(L8,"self",{get:function(){return L8},set:function(t){if(this!==L8)throw new F8("Illegal invocation");z8(L8,"self",{value:t,writable:!0,configurable:!0,enumerable:!0})},configurable:!0,enumerable:!0})}else D8({global:!0,simple:!0,forced:U8},{self:L8})}catch(t){}var $8,Y8=ni,G8=n,H8=H,W8=A,q8=o,V8=qt,X8=U,K8=No,Q8=C,J8=$,Z8=ft,t7=Sh,e7=De,r7=fi,n7=$t,i7=Cf,o7=Ve,a7=pn,s7=wj,c7=sY,l7=dP,u7=IH,h7=YH,f7=Hw,d7=Bl,p7=Nw,g7=G8.Object,v7=G8.Array,y7=G8.Date,m7=G8.Error,b7=G8.TypeError,x7=G8.PerformanceMark,w7=H8("DOMException"),A7=l7.Map,_7=l7.has,E7=l7.get,S7=l7.set,k7=u7.Set,M7=u7.add,O7=u7.has,T7=H8("Object","keys"),P7=W8([].push),I7=W8((!0).valueOf),C7=W8(1.1.valueOf),R7=W8("".valueOf),D7=W8(y7.prototype.getTime),L7=V8("structuredClone"),j7="DataCloneError",N7="Transferring",F7=function(t){return!q8(function(){var e=new G8.Set([7]),r=t(e),n=t(g7(7));return r===e||!r.has(7)||!J8(n)||7!==+n})&&t},z7=function(t,e){return!q8(function(){var r=new e,n=t({a:r,b:r});return!(n&&n.a===n.b&&n.a instanceof e&&n.a.stack===r.stack)})},U7=G8.structuredClone,B7=!z7(U7,m7)||!z7(U7,w7)||($8=U7,!!q8(function(){var t=$8(new G8.AggregateError([1],L7,{cause:3}));return"AggregateError"!==t.name||1!==t.errors[0]||t.message!==L7||3!==t.cause})),$7=!U7&&F7(function(t){return new x7(L7,{detail:t}).detail}),Y7=F7(U7)||$7,G7=function(t){throw new w7("Uncloneable type: "+t,j7)},H7=function(t,e){throw new w7((e||"Cloning")+" of "+t+" cannot be properly polyfilled in this engine",j7)},W7=function(t,e){return Y7||H7(e),Y7(t)},q7=function(t,e,r){if(_7(e,t))return E7(e,t);var n,i,o,a,s,c;if("SharedArrayBuffer"===(r||r7(t)))n=Y7?Y7(t):t;else{var l=G8.DataView;l||X8(t.slice)||H7("ArrayBuffer");try{if(X8(t.slice)&&!t.resizable)n=t.slice(0);else{i=t.byteLength,o="maxByteLength"in t?{maxByteLength:t.maxByteLength}:void 0,n=new ArrayBuffer(i,o),a=new l(t),s=new l(n);for(c=0;c<i;c++)s.setUint8(c,a.getUint8(c))}}catch(t){throw new w7("ArrayBuffer is detached",j7)}}return S7(e,t,n),n},V7=function(t,e){if(Z8(t)&&G7("Symbol"),!J8(t))return t;if(e){if(_7(e,t))return E7(e,t)}else e=new A7;var r,n,i,o,a,s,c,l,u=r7(t);switch(u){case"Array":i=v7(a7(t));break;case"Object":i={};break;case"Map":i=new A7;break;case"Set":i=new k7;break;case"RegExp":i=new RegExp(t.source,c7(t));break;case"Error":switch(n=t.name){case"AggregateError":i=new(H8(n))([]);break;case"EvalError":case"RangeError":case"ReferenceError":case"SuppressedError":case"SyntaxError":case"TypeError":case"URIError":i=new(H8(n));break;case"CompileError":case"LinkError":case"RuntimeError":i=new(H8("WebAssembly",n));break;default:i=new m7}break;case"DOMException":i=new w7(t.message,t.name);break;case"ArrayBuffer":case"SharedArrayBuffer":i=q7(t,e,u);break;case"DataView":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float16Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":s="DataView"===u?t.byteLength:t.length,i=function(t,e,r,n,i){var o=G8[e];return J8(o)||H7(e),new o(q7(t.buffer,i),r,n)}(t,u,t.byteOffset,s,e);break;case"DOMQuad":try{i=new DOMQuad(V7(t.p1,e),V7(t.p2,e),V7(t.p3,e),V7(t.p4,e))}catch(e){i=W7(t,u)}break;case"File":if(Y7)try{i=Y7(t),r7(i)!==u&&(i=void 0)}catch(t){}if(!i)try{i=new File([t],t.name,t)}catch(t){}i||H7(u);break;case"FileList":if(o=function(){var t;try{t=new G8.DataTransfer}catch(e){try{t=new G8.ClipboardEvent("").clipboardData}catch(t){}}return t&&t.items&&t.files?t:null}()){for(a=0,s=a7(t);a<s;a++)o.items.add(V7(t[a],e));i=o.files}else i=W7(t,u);break;case"ImageData":try{i=new ImageData(V7(t.data,e),t.width,t.height,{colorSpace:t.colorSpace})}catch(e){i=W7(t,u)}break;default:if(Y7)i=Y7(t);else switch(u){case"BigInt":i=g7(t.valueOf());break;case"Boolean":i=g7(I7(t));break;case"Number":i=g7(C7(t));break;case"String":i=g7(R7(t));break;case"Date":i=new y7(D7(t));break;case"Blob":try{i=t.slice(0,t.size,t.type)}catch(t){H7(u)}break;case"DOMPoint":case"DOMPointReadOnly":r=G8[u];try{i=r.fromPoint?r.fromPoint(t):new r(t.x,t.y,t.z,t.w)}catch(t){H7(u)}break;case"DOMRect":case"DOMRectReadOnly":r=G8[u];try{i=r.fromRect?r.fromRect(t):new r(t.x,t.y,t.width,t.height)}catch(t){H7(u)}break;case"DOMMatrix":case"DOMMatrixReadOnly":r=G8[u];try{i=r.fromMatrix?r.fromMatrix(t):new r(t)}catch(t){H7(u)}break;case"AudioData":case"VideoFrame":X8(t.clone)||H7(u);try{i=t.clone()}catch(t){G7(u)}break;case"CropTarget":case"CryptoKey":case"FileSystemDirectoryHandle":case"FileSystemFileHandle":case"FileSystemHandle":case"GPUCompilationInfo":case"GPUCompilationMessage":case"ImageBitmap":case"RTCCertificate":case"WebAssembly.Module":H7(u);default:G7(u)}}switch(S7(e,t,i),u){case"Array":case"Object":for(c=T7(t),a=0,s=a7(c);a<s;a++)l=c[a],i7(i,l,V7(t[l],e));break;case"Map":t.forEach(function(t,r){S7(i,V7(r,e),V7(t,e))});break;case"Set":t.forEach(function(t){M7(i,V7(t,e))});break;case"Error":o7(i,"message",V7(t.message,e)),n7(t,"cause")&&o7(i,"cause",V7(t.cause,e)),"AggregateError"===n?i.errors=V7(t.errors,e):"SuppressedError"===n&&(i.error=V7(t.error,e),i.suppressed=V7(t.suppressed,e));case"DOMException":d7&&o7(i,"stack",V7(t.stack,e))}return i};Y8({global:!0,enumerable:!0,sham:!p7,forced:B7},{structuredClone:function(t){var e,r,n=s7(arguments.length,1)>1&&!Q8(arguments[1])?e7(arguments[1]):void 0,i=n?n.transfer:void 0;void 0!==i&&(r=function(t,e){if(!J8(t))throw new b7("Transfer option cannot be converted to a sequence");var r=[];t7(t,function(t){P7(r,e7(t))});for(var n,i,o,a,s,c=0,l=a7(r),u=new k7;c<l;){if(n=r[c++],"ArrayBuffer"===(i=r7(n))?O7(u,n):_7(e,n))throw new w7("Duplicate transferable",j7);if("ArrayBuffer"!==i){if(p7)a=U7(n,{transfer:[n]});else switch(i){case"ImageBitmap":o=G8.OffscreenCanvas,K8(o)||H7(i,N7);try{(s=new o(n.width,n.height)).getContext("bitmaprenderer").transferFromImageBitmap(n),a=s.transferToImageBitmap()}catch(t){}break;case"AudioData":case"VideoFrame":X8(n.clone)&&X8(n.close)||H7(i,N7);try{a=n.clone(),n.close()}catch(t){}break;case"MediaSourceHandle":case"MessagePort":case"MIDIAccess":case"OffscreenCanvas":case"ReadableStream":case"RTCDataChannel":case"TransformStream":case"WebTransportReceiveStream":case"WebTransportSendStream":case"WritableStream":H7(i,N7)}if(void 0===a)throw new w7("This object cannot be transferred: "+i,j7);S7(e,n,a)}else M7(u,n)}return u}(i,e=new A7));var o=V7(t,e);return r&&function(t){h7(t,function(t){p7?Y7(t,{transfer:[t]}):X8(t.transfer)?t.transfer():f7?f7(t):H7("ArrayBuffer",N7)})}(r),o}});var X7=ni,K7=n,Q7=_8(K7.setInterval,!0);X7({global:!0,bind:!0,forced:K7.setInterval!==Q7},{setInterval:Q7});var J7=ni,Z7=n,t9=_8(Z7.setTimeout,!0);J7({global:!0,bind:!0,forced:Z7.setTimeout!==t9},{setTimeout:t9});var e9=o,r9=a,n9=re("iterator"),i9=!e9(function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),n="";return t.pathname="c%20d",e.forEach(function(t,r){e.delete("b"),n+=r+t}),r.delete("a",2),r.delete("b",void 0),!e.size&&!r9||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[n9]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==n||"x"!==new URL("https://x",void 0).host}),o9=A,a9=2147483647,s9=/[^\0-\u007E]/,c9=/[.\u3002\uFF0E\uFF61]/g,l9="Overflow: input needs wider integers to process",u9=RangeError,h9=o9(c9.exec),f9=Math.floor,d9=String.fromCharCode,p9=o9("".charCodeAt),g9=o9([].join),v9=o9([].push),y9=o9("".replace),m9=o9("".split),b9=o9("".toLowerCase),x9=function(t){return t+22+75*(t<26)},w9=function(t,e,r){var n=0;for(t=r?f9(t/700):t>>1,t+=f9(t/e);t>455;)t=f9(t/35),n+=36;return f9(n+36*t/(t+38))},A9=function(t){var e=[];t=function(t){for(var e=[],r=0,n=t.length;r<n;){var i=p9(t,r++);if(i>=55296&&i<=56319&&r<n){var o=p9(t,r++);56320==(64512&o)?v9(e,((1023&i)<<10)+(1023&o)+65536):(v9(e,i),r--)}else v9(e,i)}return e}(t);var r,n,i=t.length,o=128,a=0,s=72;for(r=0;r<t.length;r++)(n=t[r])<128&&v9(e,d9(n));var c=e.length,l=c;for(c&&v9(e,"-");l<i;){var u=a9;for(r=0;r<t.length;r++)(n=t[r])>=o&&n<u&&(u=n);var h=l+1;if(u-o>f9((a9-a)/h))throw new u9(l9);for(a+=(u-o)*h,o=u,r=0;r<t.length;r++){if((n=t[r])<o&&++a>a9)throw new u9(l9);if(n===o){for(var f=a,d=36;;){var p=d<=s?1:d>=s+26?26:d-s;if(f<p)break;var g=f-p,v=36-p;v9(e,d9(x9(p+g%v))),f=f9(g/v),d+=36}v9(e,d9(x9(f))),s=w9(a,h,l===c),a=0,l++}}a++,o++}return g9(e,"")},_9=ni,E9=n,S9=Zj,k9=H,M9=u,O9=A,T9=a,P9=i9,I9=Jr,C9=Qi,R9=ym,D9=go,L9=Wp,j9=Pr,N9=xm,F9=U,z9=$t,U9=Ao,B9=fi,$9=De,Y9=$,G9=gi,H9=Bi,W9=y,q9=sh,V9=th,X9=dg,K9=wj,Q9=zv,J9=re("iterator"),Z9="URLSearchParams",ttt=Z9+"Iterator",ett=j9.set,rtt=j9.getterFor(Z9),ntt=j9.getterFor(ttt),itt=S9("fetch"),ott=S9("Request"),att=S9("Headers"),stt=ott&&ott.prototype,ctt=att&&att.prototype,ltt=E9.TypeError,utt=E9.encodeURIComponent,htt=String.fromCharCode,ftt=k9("String","fromCodePoint"),dtt=parseInt,ptt=O9("".charAt),gtt=O9([].join),vtt=O9([].push),ytt=O9("".replace),mtt=O9([].shift),btt=O9([].splice),xtt=O9("".split),wtt=O9("".slice),Att=O9(/./.exec),_tt=/\+/g,Ett=/^[0-9a-f]+$/i,Stt=function(t,e){var r=wtt(t,e,e+2);return Att(Ett,r)?dtt(r,16):NaN},ktt=function(t){for(var e=0,r=128;r>0&&0!==(t&r);r>>=1)e++;return e},Mtt=function(t){var e=null;switch(t.length){case 1:e=t[0];break;case 2:e=(31&t[0])<<6|63&t[1];break;case 3:e=(15&t[0])<<12|(63&t[1])<<6|63&t[2];break;case 4:e=(7&t[0])<<18|(63&t[1])<<12|(63&t[2])<<6|63&t[3]}return e>1114111?null:e},Ott=function(t){for(var e=(t=ytt(t,_tt," ")).length,r="",n=0;n<e;){var i=ptt(t,n);if("%"===i){if("%"===ptt(t,n+1)||n+3>e){r+="%",n++;continue}var o=Stt(t,n+1);if(o!=o){r+=i,n++;continue}n+=2;var a=ktt(o);if(0===a)i=htt(o);else{if(1===a||a>4){r+="�",n++;continue}for(var s=[o],c=1;c<a&&!(++n+3>e||"%"!==ptt(t,n));){var l=Stt(t,n+1);if(l!=l){n+=3;break}if(l>191||l<128)break;vtt(s,l),n+=2,c++}if(s.length!==a){r+="�";continue}var u=Mtt(s);null===u?r+="�":i=ftt(u)}}r+=i,n++}return r},Ttt=/[!'()~]|%20/g,Ptt={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},Itt=function(t){return Ptt[t]},Ctt=function(t){return ytt(utt(t),Ttt,Itt)},Rtt=L9(function(t,e){ett(this,{type:ttt,target:rtt(t).entries,index:0,kind:e})},Z9,function(){var t=ntt(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,X9(void 0,!0);var n=e[r];switch(t.kind){case"keys":return X9(n.key,!1);case"values":return X9(n.value,!1)}return X9([n.key,n.value],!1)},!0),Dtt=function(t){this.entries=[],this.url=null,void 0!==t&&(Y9(t)?this.parseObject(t):this.parseQuery("string"==typeof t?"?"===ptt(t,0)?wtt(t,1):t:G9(t)))};Dtt.prototype={type:Z9,bindURL:function(t){this.url=t,this.update()},parseObject:function(t){var e,r,n,i,o,a,s,c=this.entries,l=V9(t);if(l)for(r=(e=q9(t,l)).next;!(n=M9(r,e)).done;){if(o=(i=q9($9(n.value))).next,(a=M9(o,i)).done||(s=M9(o,i)).done||!M9(o,i).done)throw new ltt("Expected sequence with length 2");vtt(c,{key:G9(a.value),value:G9(s.value)})}else for(var u in t)z9(t,u)&&vtt(c,{key:u,value:G9(t[u])})},parseQuery:function(t){if(t)for(var e,r,n=this.entries,i=xtt(t,"&"),o=0;o<i.length;)(e=i[o++]).length&&(r=xtt(e,"="),vtt(n,{key:Ott(mtt(r)),value:Ott(gtt(r,"="))}))},serialize:function(){for(var t,e=this.entries,r=[],n=0;n<e.length;)t=e[n++],vtt(r,Ctt(t.key)+"="+Ctt(t.value));return gtt(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var Ltt=function(){N9(this,jtt);var t=ett(this,new Dtt(arguments.length>0?arguments[0]:void 0));T9||(this.size=t.entries.length)},jtt=Ltt.prototype;if(R9(jtt,{append:function(t,e){var r=rtt(this);K9(arguments.length,2),vtt(r.entries,{key:G9(t),value:G9(e)}),T9||this.size++,r.updateURL()},delete:function(t){for(var e=rtt(this),r=K9(arguments.length,1),n=e.entries,i=G9(t),o=r<2?void 0:arguments[1],a=void 0===o?o:G9(o),s=0;s<n.length;){var c=n[s];if(c.key!==i||void 0!==a&&c.value!==a)s++;else if(btt(n,s,1),void 0!==a)break}T9||(this.size=n.length),e.updateURL()},get:function(t){var e=rtt(this).entries;K9(arguments.length,1);for(var r=G9(t),n=0;n<e.length;n++)if(e[n].key===r)return e[n].value;return null},getAll:function(t){var e=rtt(this).entries;K9(arguments.length,1);for(var r=G9(t),n=[],i=0;i<e.length;i++)e[i].key===r&&vtt(n,e[i].value);return n},has:function(t){for(var e=rtt(this).entries,r=K9(arguments.length,1),n=G9(t),i=r<2?void 0:arguments[1],o=void 0===i?i:G9(i),a=0;a<e.length;){var s=e[a++];if(s.key===n&&(void 0===o||s.value===o))return!0}return!1},set:function(t,e){var r=rtt(this);K9(arguments.length,1);for(var n,i=r.entries,o=!1,a=G9(t),s=G9(e),c=0;c<i.length;c++)(n=i[c]).key===a&&(o?btt(i,c--,1):(o=!0,n.value=s));o||vtt(i,{key:a,value:s}),T9||(this.size=i.length),r.updateURL()},sort:function(){var t=rtt(this);Q9(t.entries,function(t,e){return t.key>e.key?1:-1}),t.updateURL()},forEach:function(t){for(var e,r=rtt(this).entries,n=U9(t,arguments.length>1?arguments[1]:void 0),i=0;i<r.length;)n((e=r[i++]).value,e.key,this)},keys:function(){return new Rtt(this,"keys")},values:function(){return new Rtt(this,"values")},entries:function(){return new Rtt(this,"entries")}},{enumerable:!0}),I9(jtt,J9,jtt.entries,{name:"entries"}),I9(jtt,"toString",function(){return rtt(this).serialize()},{enumerable:!0}),T9&&C9(jtt,"size",{get:function(){return rtt(this).entries.length},configurable:!0,enumerable:!0}),D9(Ltt,Z9),_9({global:!0,constructor:!0,forced:!P9},{URLSearchParams:Ltt}),!P9&&F9(att)){var Ntt=O9(ctt.has),Ftt=O9(ctt.set),ztt=function(t){if(Y9(t)){var e,r=t.body;if(B9(r)===Z9)return e=t.headers?new att(t.headers):new att,Ntt(e,"content-type")||Ftt(e,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),H9(t,{body:W9(0,G9(r)),headers:W9(0,e)})}return t};if(F9(itt)&&_9({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(t){return itt(t,arguments.length>1?ztt(arguments[1]):{})}}),F9(ott)){var Utt=function(t){return N9(this,stt),new ott(t,arguments.length>1?ztt(arguments[1]):{})};stt.constructor=Utt,Utt.prototype=stt,_9({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Utt})}}var Btt,$tt=ni,Ytt=a,Gtt=i9,Htt=n,Wtt=Ao,qtt=A,Vtt=Jr,Xtt=Qi,Ktt=xm,Qtt=$t,Jtt=KR,Ztt=pp,tet=Yi,eet=Tq.codeAt,ret=function(t){var e,r,n=[],i=m9(y9(b9(t),c9,"."),".");for(e=0;e<i.length;e++)r=i[e],v9(n,h9(s9,r)?"xn--"+A9(r):r);return g9(n,".")},net=gi,iet=go,oet=wj,aet={URLSearchParams:Ltt,getState:rtt},set=Pr,cet=set.set,uet=set.getterFor("URL"),het=aet.URLSearchParams,fet=aet.getState,det=Htt.URL,pet=Htt.TypeError,get=Htt.parseInt,vet=Math.floor,yet=Math.pow,met=qtt("".charAt),bet=qtt(/./.exec),xet=qtt([].join),wet=qtt(1.1.toString),Aet=qtt([].pop),_et=qtt([].push),Eet=qtt("".replace),ket=qtt([].shift),Met=qtt("".split),Oet=qtt("".slice),Tet=qtt("".toLowerCase),Pet=qtt([].unshift),Iet="Invalid scheme",Cet="Invalid host",Ret="Invalid port",Det=/[a-z]/i,Let=/[\d+-.a-z]/i,jet=/\d/,Net=/^0x/i,Fet=/^[0-7]+$/,zet=/^\d+$/,Uet=/^[\da-f]+$/i,Bet=/[\0\t\n\r #%/:<>?@[\\\]^|]/,$et=/[\0\t\n\r #/:<>?@[\\\]^|]/,Yet=/^[\u0000-\u0020]+/,Get=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,Het=/[\t\n\r]/g,Wet=function(t){var e,r,n,i;if("number"==typeof t){for(e=[],r=0;r<4;r++)Pet(e,t%256),t=vet(t/256);return xet(e,".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,i=0,o=0;o<8;o++)0!==t[o]?(i>r&&(e=n,r=i),n=null,i=0):(null===n&&(n=o),++i);return i>r?n:e}(t),r=0;r<8;r++)i&&0===t[r]||(i&&(i=!1),n===r?(e+=r?":":"::",i=!0):(e+=wet(t[r],16),r<7&&(e+=":")));return"["+e+"]"}return t},qet={},Vet=Jtt({},qet,{" ":1,'"':1,"<":1,">":1,"`":1}),Xet=Jtt({},Vet,{"#":1,"?":1,"{":1,"}":1}),Ket=Jtt({},Xet,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Qet=function(t,e){var r=eet(t,0);return r>32&&r<127&&!Qtt(e,t)?t:encodeURIComponent(t)},Jet={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Zet=function(t,e){var r;return 2===t.length&&bet(Det,met(t,0))&&(":"===(r=met(t,1))||!e&&"|"===r)},trt=function(t){var e;return t.length>1&&Zet(Oet(t,0,2))&&(2===t.length||"/"===(e=met(t,2))||"\\"===e||"?"===e||"#"===e)},ert=function(t){return"."===t||"%2e"===Tet(t)},rrt=function(t){return".."===(t=Tet(t))||"%2e."===t||".%2e"===t||"%2e%2e"===t},nrt={},irt={},ort={},art={},srt={},crt={},lrt={},urt={},hrt={},frt={},drt={},prt={},grt={},vrt={},yrt={},mrt={},brt={},xrt={},wrt={},Art={},_rt={},Ert=function(t,e,r){var n,i,o,a=net(t);if(e){if(i=this.parse(a))throw new pet(i);this.searchParams=null}else{if(void 0!==r&&(n=new Ert(r,!0)),i=this.parse(a,null,n))throw new pet(i);(o=fet(new het)).bindURL(this),this.searchParams=o}};Ert.prototype={type:"URL",parse:function(t,e,r){var n,i,o,a,s=this,c=e||nrt,l=0,u="",h=!1,f=!1,d=!1;for(t=net(t),e||(s.scheme="",s.username="",s.password="",s.host=null,s.port=null,s.path=[],s.query=null,s.fragment=null,s.cannotBeABaseURL=!1,t=Eet(t,Yet,""),t=Eet(t,Get,"$1")),t=Eet(t,Het,""),n=Ztt(t);l<=n.length;){switch(i=n[l],c){case nrt:if(!i||!bet(Det,i)){if(e)return Iet;c=ort;continue}u+=Tet(i),c=irt;break;case irt:if(i&&(bet(Let,i)||"+"===i||"-"===i||"."===i))u+=Tet(i);else{if(":"!==i){if(e)return Iet;u="",c=ort,l=0;continue}if(e&&(s.isSpecial()!==Qtt(Jet,u)||"file"===u&&(s.includesCredentials()||null!==s.port)||"file"===s.scheme&&!s.host))return;if(s.scheme=u,e)return void(s.isSpecial()&&Jet[s.scheme]===s.port&&(s.port=null));u="","file"===s.scheme?c=vrt:s.isSpecial()&&r&&r.scheme===s.scheme?c=art:s.isSpecial()?c=urt:"/"===n[l+1]?(c=srt,l++):(s.cannotBeABaseURL=!0,_et(s.path,""),c=wrt)}break;case ort:if(!r||r.cannotBeABaseURL&&"#"!==i)return Iet;if(r.cannotBeABaseURL&&"#"===i){s.scheme=r.scheme,s.path=tet(r.path),s.query=r.query,s.fragment="",s.cannotBeABaseURL=!0,c=_rt;break}c="file"===r.scheme?vrt:crt;continue;case art:if("/"!==i||"/"!==n[l+1]){c=crt;continue}c=hrt,l++;break;case srt:if("/"===i){c=frt;break}c=xrt;continue;case crt:if(s.scheme=r.scheme,i===Btt)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=tet(r.path),s.query=r.query;else if("/"===i||"\\"===i&&s.isSpecial())c=lrt;else if("?"===i)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=tet(r.path),s.query="",c=Art;else{if("#"!==i){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=tet(r.path),s.path.length--,c=xrt;continue}s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=tet(r.path),s.query=r.query,s.fragment="",c=_rt}break;case lrt:if(!s.isSpecial()||"/"!==i&&"\\"!==i){if("/"!==i){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,c=xrt;continue}c=frt}else c=hrt;break;case urt:if(c=hrt,"/"!==i||"/"!==met(u,l+1))continue;l++;break;case hrt:if("/"!==i&&"\\"!==i){c=frt;continue}break;case frt:if("@"===i){h&&(u="%40"+u),h=!0,o=Ztt(u);for(var p=0;p<o.length;p++){var g=o[p];if(":"!==g||d){var v=Qet(g,Ket);d?s.password+=v:s.username+=v}else d=!0}u=""}else if(i===Btt||"/"===i||"?"===i||"#"===i||"\\"===i&&s.isSpecial()){if(h&&""===u)return"Invalid authority";l-=Ztt(u).length+1,u="",c=drt}else u+=i;break;case drt:case prt:if(e&&"file"===s.scheme){c=mrt;continue}if(":"!==i||f){if(i===Btt||"/"===i||"?"===i||"#"===i||"\\"===i&&s.isSpecial()){if(s.isSpecial()&&""===u)return Cet;if(e&&""===u&&(s.includesCredentials()||null!==s.port))return;if(a=s.parseHost(u))return a;if(u="",c=brt,e)return;continue}"["===i?f=!0:"]"===i&&(f=!1),u+=i}else{if(""===u)return Cet;if(a=s.parseHost(u))return a;if(u="",c=grt,e===prt)return}break;case grt:if(!bet(jet,i)){if(i===Btt||"/"===i||"?"===i||"#"===i||"\\"===i&&s.isSpecial()||e){if(""!==u){var y=get(u,10);if(y>65535)return Ret;s.port=s.isSpecial()&&y===Jet[s.scheme]?null:y,u=""}if(e)return;c=brt;continue}return Ret}u+=i;break;case vrt:if(s.scheme="file","/"===i||"\\"===i)c=yrt;else{if(!r||"file"!==r.scheme){c=xrt;continue}switch(i){case Btt:s.host=r.host,s.path=tet(r.path),s.query=r.query;break;case"?":s.host=r.host,s.path=tet(r.path),s.query="",c=Art;break;case"#":s.host=r.host,s.path=tet(r.path),s.query=r.query,s.fragment="",c=_rt;break;default:trt(xet(tet(n,l),""))||(s.host=r.host,s.path=tet(r.path),s.shortenPath()),c=xrt;continue}}break;case yrt:if("/"===i||"\\"===i){c=mrt;break}r&&"file"===r.scheme&&!trt(xet(tet(n,l),""))&&(Zet(r.path[0],!0)?_et(s.path,r.path[0]):s.host=r.host),c=xrt;continue;case mrt:if(i===Btt||"/"===i||"\\"===i||"?"===i||"#"===i){if(!e&&Zet(u))c=xrt;else if(""===u){if(s.host="",e)return;c=brt}else{if(a=s.parseHost(u))return a;if("localhost"===s.host&&(s.host=""),e)return;u="",c=brt}continue}u+=i;break;case brt:if(s.isSpecial()){if(c=xrt,"/"!==i&&"\\"!==i)continue}else if(e||"?"!==i)if(e||"#"!==i){if(i!==Btt&&(c=xrt,"/"!==i))continue}else s.fragment="",c=_rt;else s.query="",c=Art;break;case xrt:if(i===Btt||"/"===i||"\\"===i&&s.isSpecial()||!e&&("?"===i||"#"===i)){if(rrt(u)?(s.shortenPath(),"/"===i||"\\"===i&&s.isSpecial()||_et(s.path,"")):ert(u)?"/"===i||"\\"===i&&s.isSpecial()||_et(s.path,""):("file"===s.scheme&&!s.path.length&&Zet(u)&&(s.host&&(s.host=""),u=met(u,0)+":"),_et(s.path,u)),u="","file"===s.scheme&&(i===Btt||"?"===i||"#"===i))for(;s.path.length>1&&""===s.path[0];)ket(s.path);"?"===i?(s.query="",c=Art):"#"===i&&(s.fragment="",c=_rt)}else u+=Qet(i,Xet);break;case wrt:"?"===i?(s.query="",c=Art):"#"===i?(s.fragment="",c=_rt):i!==Btt&&(s.path[0]+=Qet(i,qet));break;case Art:e||"#"!==i?i!==Btt&&("'"===i&&s.isSpecial()?s.query+="%27":s.query+="#"===i?"%23":Qet(i,qet)):(s.fragment="",c=_rt);break;case _rt:i!==Btt&&(s.fragment+=Qet(i,Vet))}l++}},parseHost:function(t){var e,r,n;if("["===met(t,0)){if("]"!==met(t,t.length-1))return Cet;if(e=function(t){var e,r,n,i,o,a,s,c=[0,0,0,0,0,0,0,0],l=0,u=null,h=0,f=function(){return met(t,h)};if(":"===f()){if(":"!==met(t,1))return;h+=2,u=++l}for(;f();){if(8===l)return;if(":"!==f()){for(e=r=0;r<4&&bet(Uet,f());)e=16*e+get(f(),16),h++,r++;if("."===f()){if(0===r)return;if(h-=r,l>6)return;for(n=0;f();){if(i=null,n>0){if(!("."===f()&&n<4))return;h++}if(!bet(jet,f()))return;for(;bet(jet,f());){if(o=get(f(),10),null===i)i=o;else{if(0===i)return;i=10*i+o}if(i>255)return;h++}c[l]=256*c[l]+i,2!==++n&&4!==n||l++}if(4!==n)return;break}if(":"===f()){if(h++,!f())return}else if(f())return;c[l++]=e}else{if(null!==u)return;h++,u=++l}}if(null!==u)for(a=l-u,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[u+a-1],c[u+--a]=s;else if(8!==l)return;return c}(Oet(t,1,-1)),!e)return Cet;this.host=e}else if(this.isSpecial()){if(t=ret(t),bet(Bet,t))return Cet;if(e=function(t){var e,r,n,i,o,a,s,c=Met(t,".");if(c.length&&""===c[c.length-1]&&c.length--,(e=c.length)>4)return t;for(r=[],n=0;n<e;n++){if(""===(i=c[n]))return t;if(o=10,i.length>1&&"0"===met(i,0)&&(o=bet(Net,i)?16:8,i=Oet(i,8===o?1:2)),""===i)a=0;else{if(!bet(10===o?zet:8===o?Fet:Uet,i))return t;a=get(i,o)}_et(r,a)}for(n=0;n<e;n++)if(a=r[n],n===e-1){if(a>=yet(256,5-e))return null}else if(a>255)return null;for(s=Aet(r),n=0;n<r.length;n++)s+=r[n]*yet(256,3-n);return s}(t),null===e)return Cet;this.host=e}else{if(bet($et,t))return Cet;for(e="",r=Ztt(t),n=0;n<r.length;n++)e+=Qet(r[n],qet);this.host=e}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return Qtt(Jet,this.scheme)},shortenPath:function(){var t=this.path,e=t.length;!e||"file"===this.scheme&&1===e&&Zet(t[0],!0)||t.length--},serialize:function(){var t=this,e=t.scheme,r=t.username,n=t.password,i=t.host,o=t.port,a=t.path,s=t.query,c=t.fragment,l=e+":";return null!==i?(l+="//",t.includesCredentials()&&(l+=r+(n?":"+n:"")+"@"),l+=Wet(i),null!==o&&(l+=":"+o)):"file"===e&&(l+="//"),l+=t.cannotBeABaseURL?a[0]:a.length?"/"+xet(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(t){var e=this.parse(t);if(e)throw new pet(e);this.searchParams.update()},getOrigin:function(){var t=this.scheme,e=this.port;if("blob"===t)try{return new Srt(t.path[0]).origin}catch(t){return"null"}return"file"!==t&&this.isSpecial()?t+"://"+Wet(this.host)+(null!==e?":"+e:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(t){this.parse(net(t)+":",nrt)},getUsername:function(){return this.username},setUsername:function(t){var e=Ztt(net(t));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<e.length;r++)this.username+=Qet(e[r],Ket)}},getPassword:function(){return this.password},setPassword:function(t){var e=Ztt(net(t));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<e.length;r++)this.password+=Qet(e[r],Ket)}},getHost:function(){var t=this.host,e=this.port;return null===t?"":null===e?Wet(t):Wet(t)+":"+e},setHost:function(t){this.cannotBeABaseURL||this.parse(t,drt)},getHostname:function(){var t=this.host;return null===t?"":Wet(t)},setHostname:function(t){this.cannotBeABaseURL||this.parse(t,prt)},getPort:function(){var t=this.port;return null===t?"":net(t)},setPort:function(t){this.cannotHaveUsernamePasswordPort()||(""===(t=net(t))?this.port=null:this.parse(t,grt))},getPathname:function(){var t=this.path;return this.cannotBeABaseURL?t[0]:t.length?"/"+xet(t,"/"):""},setPathname:function(t){this.cannotBeABaseURL||(this.path=[],this.parse(t,brt))},getSearch:function(){var t=this.query;return t?"?"+t:""},setSearch:function(t){""===(t=net(t))?this.query=null:("?"===met(t,0)&&(t=Oet(t,1)),this.query="",this.parse(t,Art)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var t=this.fragment;return t?"#"+t:""},setHash:function(t){""!==(t=net(t))?("#"===met(t,0)&&(t=Oet(t,1)),this.fragment="",this.parse(t,_rt)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var Srt=function(t){var e=Ktt(this,krt),r=oet(arguments.length,1)>1?arguments[1]:void 0,n=cet(e,new Ert(t,!1,r));Ytt||(e.href=n.serialize(),e.origin=n.getOrigin(),e.protocol=n.getProtocol(),e.username=n.getUsername(),e.password=n.getPassword(),e.host=n.getHost(),e.hostname=n.getHostname(),e.port=n.getPort(),e.pathname=n.getPathname(),e.search=n.getSearch(),e.searchParams=n.getSearchParams(),e.hash=n.getHash())},krt=Srt.prototype,Mrt=function(t,e){return{get:function(){return uet(this)[t]()},set:e&&function(t){return uet(this)[e](t)},configurable:!0,enumerable:!0}};if(Ytt&&(Xtt(krt,"href",Mrt("serialize","setHref")),Xtt(krt,"origin",Mrt("getOrigin")),Xtt(krt,"protocol",Mrt("getProtocol","setProtocol")),Xtt(krt,"username",Mrt("getUsername","setUsername")),Xtt(krt,"password",Mrt("getPassword","setPassword")),Xtt(krt,"host",Mrt("getHost","setHost")),Xtt(krt,"hostname",Mrt("getHostname","setHostname")),Xtt(krt,"port",Mrt("getPort","setPort")),Xtt(krt,"pathname",Mrt("getPathname","setPathname")),Xtt(krt,"search",Mrt("getSearch","setSearch")),Xtt(krt,"searchParams",Mrt("getSearchParams")),Xtt(krt,"hash",Mrt("getHash","setHash"))),Vtt(krt,"toJSON",function(){return uet(this).serialize()},{enumerable:!0}),Vtt(krt,"toString",function(){return uet(this).serialize()},{enumerable:!0}),det){var Ort=det.createObjectURL,Trt=det.revokeObjectURL;Ort&&Vtt(Srt,"createObjectURL",Wtt(Ort,det)),Trt&&Vtt(Srt,"revokeObjectURL",Wtt(Trt,det))}iet(Srt,"URL"),$tt({global:!0,constructor:!0,forced:!Gtt,sham:!Ytt},{URL:Srt});var Prt=ni,Irt=o,Crt=wj,Rrt=gi,Drt=i9,Lrt=H("URL"),jrt=Drt&&Irt(function(){Lrt.canParse()}),Nrt=Irt(function(){return 1!==Lrt.canParse.length});Prt({target:"URL",stat:!0,forced:!jrt||Nrt},{canParse:function(t){var e=Crt(arguments.length,1),r=Rrt(t),n=e<2||void 0===arguments[1]?void 0:Rrt(arguments[1]);try{return!!new Lrt(r,n)}catch(t){return!1}}});var Frt=ni,zrt=wj,Urt=gi,Brt=i9,$rt=H("URL");Frt({target:"URL",stat:!0,forced:!Brt},{parse:function(t){var e=zrt(arguments.length,1),r=Urt(t),n=e<2||void 0===arguments[1]?void 0:Urt(arguments[1]);try{return new $rt(r,n)}catch(t){return null}}});var Yrt=u;ni({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return Yrt(URL.prototype.toString,this)}});var Grt=Jr,Hrt=A,Wrt=gi,qrt=wj,Vrt=URLSearchParams,Xrt=Vrt.prototype,Krt=Hrt(Xrt.append),Qrt=Hrt(Xrt.delete),Jrt=Hrt(Xrt.forEach),Zrt=Hrt([].push),tnt=new Vrt("a=1&a=2&b=3");tnt.delete("a",1),tnt.delete("b",void 0),tnt+""!="a=2"&&Grt(Xrt,"delete",function(t){var e=arguments.length,r=e<2?void 0:arguments[1];if(e&&void 0===r)return Qrt(this,t);var n=[];Jrt(this,function(t,e){Zrt(n,{key:e,value:t})}),qrt(e,1);for(var i,o=Wrt(t),a=Wrt(r),s=0,c=0,l=!1,u=n.length;s<u;)i=n[s++],l||i.key===o?(l=!0,Qrt(this,i.key)):c++;for(;c<u;)(i=n[c++]).key===o&&i.value===a||Krt(this,i.key,i.value)},{enumerable:!0,unsafe:!0});var ent=Jr,rnt=A,nnt=gi,int=wj,ont=URLSearchParams,ant=ont.prototype,snt=rnt(ant.getAll),cnt=rnt(ant.has),lnt=new ont("a=1");!lnt.has("a",2)&&lnt.has("a",void 0)||ent(ant,"has",function(t){var e=arguments.length,r=e<2?void 0:arguments[1];if(e&&void 0===r)return cnt(this,t);var n=snt(this,t);int(e,1);for(var i=nnt(r),o=0;o<n.length;)if(n[o++]===i)return!0;return!1},{enumerable:!0,unsafe:!0});var unt=a,hnt=A,fnt=Qi,dnt=URLSearchParams.prototype,pnt=hnt(dnt.forEach);unt&&!("size"in dnt)&&fnt(dnt,"size",{get:function(){var t=0;return pnt(this,function(){t++}),t},configurable:!0,enumerable:!0}),function(t){t.exports=to}({exports:{}});!function(t){var e=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,i=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,a=Object.create(o.prototype),s=new P(n||[]);return i(a,"_invoke",{value:k(t,r,s)}),a}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f="suspendedStart",d="suspendedYield",p="executing",g="completed",v={};function y(){}function m(){}function b(){}var x={};l(x,a,function(){return this});var w=Object.getPrototypeOf,A=w&&w(w(I([])));A&&A!==r&&n.call(A,a)&&(x=A);var _=b.prototype=y.prototype=Object.create(x);function E(t){["next","throw","return"].forEach(function(e){l(t,e,function(t){return this._invoke(e,t)})})}function S(t,e){function r(i,o,a,s){var c=h(t[i],t,o);if("throw"!==c.type){var l=c.arg,u=l.value;return u&&"object"==typeof u&&n.call(u,"__await")?e.resolve(u.__await).then(function(t){r("next",t,a,s)},function(t){r("throw",t,a,s)}):e.resolve(u).then(function(t){l.value=t,a(l)},function(t){return r("throw",t,a,s)})}s(c.arg)}var o;i(this,"_invoke",{value:function(t,n){function i(){return new e(function(e,i){r(t,n,e,i)})}return o=o?o.then(i,i):i()}})}function k(t,e,r){var n=f;return function(i,o){if(n===p)throw new Error("Generator is already running");if(n===g){if("throw"===i)throw o;return C()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=M(a,r);if(s){if(s===v)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=p;var c=h(t,e,r);if("normal"===c.type){if(n=r.done?g:d,c.arg===v)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n=g,r.method="throw",r.arg=c.arg)}}}function M(t,r){var n=r.method,i=t.iterator[n];if(i===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,M(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=h(i,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function I(t){if(t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function r(){for(;++i<t.length;)if(n.call(t,i))return r.value=t[i],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}return{next:C}}function C(){return{value:e,done:!0}}return m.prototype=b,i(_,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:m,configurable:!0}),m.displayName=l(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,l(t,c,"GeneratorFunction")),t.prototype=Object.create(_),t},t.awrap=function(t){return{__await:t}},E(S.prototype),l(S.prototype,s,function(){return this}),t.AsyncIterator=S,t.async=function(e,r,n,i,o){void 0===o&&(o=Promise);var a=new S(u(e,r,n,i),o);return t.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next()})},E(_),l(_,c,"Generator"),l(_,a,function(){return this}),l(_,"toString",function(){return"[object Generator]"}),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=I,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function i(n,i){return s.type="throw",s.arg=t,r.next=n,i&&(r.method="next",r.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(c&&l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),T(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;T(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:I(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}}({exports:{}}),(()=>{function t(t,r,n,i,o){if(![t,r,n,i].every(t=>Number.isFinite(t)))return;let a,s,c,l;if(o=function(t){const e=typeof t;if("undefined"===e||null===t)return[0];if("function"===e)return[NaN];if("object"===e)return"function"==typeof t[Symbol.iterator]?[...t].map(t=>{const e=typeof t;return"undefined"===e||null===t?0:"function"===e?NaN:"object"===e?f(t):d(t)}):[f(t)];return[d(t)]}(o),4===o.length)a=p(o[0]),s=p(o[1]),c=p(o[2]),l=p(o[3]);else if(3===o.length)a=p(o[0]),s=p(o[1]),l=p(o[1]),c=p(o[2]);else if(2===o.length)a=p(o[0]),c=p(o[0]),s=p(o[1]),l=p(o[1]);else{if(1!==o.length)throw new RangeError(`${e(this)} ${o.length} is not a valid size for radii sequence.`);a=p(o[0]),s=p(o[0]),c=p(o[0]),l=p(o[0])}const u=[a,s,c,l],h=u.find(({x:t,y:e})=>t<0||e<0);if(h?.x<0&&h.x,!u.some(({x:t,y:e})=>!Number.isFinite(t)||!Number.isFinite(e))){if(h)throw new RangeError(`${e(this)} Radius value ${h} is negative.`);!function(t){const[e,r,o,a]=t,s=[Math.abs(n)/(e.x+r.x),Math.abs(i)/(r.y+o.y),Math.abs(n)/(o.x+a.x),Math.abs(i)/(e.y+a.y)],c=Math.min(...s);if(c<=1)for(const e of t)e.x*=c,e.y*=c}(u),n<0&&i<0?(this.moveTo(t-a.x,r),this.ellipse(t+n+s.x,r-s.y,s.x,s.y,0,1.5*-Math.PI,-Math.PI),this.ellipse(t+n+c.x,r+i+c.y,c.x,c.y,0,-Math.PI,-Math.PI/2),this.ellipse(t-l.x,r+i+l.y,l.x,l.y,0,-Math.PI/2,0),this.ellipse(t-a.x,r-a.y,a.x,a.y,0,0,-Math.PI/2)):n<0?(this.moveTo(t-a.x,r),this.ellipse(t+n+s.x,r+s.y,s.x,s.y,0,-Math.PI/2,-Math.PI,1),this.ellipse(t+n+c.x,r+i-c.y,c.x,c.y,0,-Math.PI,1.5*-Math.PI,1),this.ellipse(t-l.x,r+i-l.y,l.x,l.y,0,Math.PI/2,0,1),this.ellipse(t-a.x,r+a.y,a.x,a.y,0,0,-Math.PI/2,1)):i<0?(this.moveTo(t+a.x,r),this.ellipse(t+n-s.x,r-s.y,s.x,s.y,0,Math.PI/2,0,1),this.ellipse(t+n-c.x,r+i+c.y,c.x,c.y,0,0,-Math.PI/2,1),this.ellipse(t+l.x,r+i+l.y,l.x,l.y,0,-Math.PI/2,-Math.PI,1),this.ellipse(t+a.x,r-a.y,a.x,a.y,0,-Math.PI,1.5*-Math.PI,1)):(this.moveTo(t+a.x,r),this.ellipse(t+n-s.x,r+s.y,s.x,s.y,0,-Math.PI/2,0),this.ellipse(t+n-c.x,r+i-c.y,c.x,c.y,0,0,Math.PI/2),this.ellipse(t+l.x,r+i-l.y,l.x,l.y,0,Math.PI/2,Math.PI),this.ellipse(t+a.x,r+a.y,a.x,a.y,0,Math.PI,1.5*Math.PI)),this.closePath(),this.moveTo(t,r)}function f(t){const{x:e,y:r,z:n,w:i}=t;return{x:e,y:r,z:n,w:i}}function d(t){return+t}function p(t){const e=d(t);return Number.isFinite(e)?{x:e,y:e}:Object(t)===t?{x:d(t.x??0),y:d(t.y??0)}:{x:NaN,y:NaN}}}function e(t){return`Failed to execute 'roundRect' on '${function(t){return Object(t)===t&&t instanceof Path2D?"Path2D":t instanceof globalThis?.CanvasRenderingContext2D?"CanvasRenderingContext2D":t instanceof globalThis?.OffscreenCanvasRenderingContext2D?"OffscreenCanvasRenderingContext2D":t?.constructor.name||t}(t)}':`}Path2D.prototype.roundRect??=t,globalThis.CanvasRenderingContext2D&&(globalThis.CanvasRenderingContext2D.prototype.roundRect??=t),globalThis.OffscreenCanvasRenderingContext2D&&(globalThis.OffscreenCanvasRenderingContext2D.prototype.roundRect??=t)})();function gnt(t,e){return t===e||t!=t&&e!=e}function vnt(t,e){for(var r=t.length;r--;)if(gnt(t[r][0],e))return r;return-1}"function"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),r=1;r<arguments.length;r++){var n=arguments[r];if(null!=n)for(var i in n)n.hasOwnProperty(i)&&(e[i]=n[i])}return e}),"function"!=typeof Object.values&&(Object.values=function(t){let e=[];for(let r in t)e.push(t[r]);return e}),"function"!=typeof Object.keys&&(Object.values=function(t){let e=[];for(let r in t)e.push(r);return e}),"undefined"!=typeof CanvasRenderingContext2D&&null==CanvasRenderingContext2D.prototype.ellipse&&(CanvasRenderingContext2D.prototype.ellipse=function(t,e,r,n,i,o,a,s){this.save(),this.translate(t,e),this.rotate(i),this.translate(-r,-n),this.scale(r,n),this.arc(1,1,1,o,a,s),this.restore()}),function(){for(var t=0,e=["ms","moz","webkit","o"],r=0;r<e.length&&!window.requestAnimationFrame;++r)window.requestAnimationFrame=window[e[r]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[r]+"CancelAnimationFrame"]||window[e[r]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(console.warn("requestAnimationFrame not supported"),window.requestAnimationFrame=function(e,r){var n=performance.now(),i=Math.max(0,33-(n-t)),o=window.setTimeout(function(){e(n+i)},i);return t=n+i,o}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)})}(),String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return e=e||0,this.substr(e,t.length)===t});var ynt=Array.prototype.splice;function mnt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}mnt.prototype.clear=function(){this.__data__=[],this.size=0},mnt.prototype.delete=function(t){var e=this.__data__,r=vnt(e,t);return!(r<0)&&(r==e.length-1?e.pop():ynt.call(e,r,1),--this.size,!0)},mnt.prototype.get=function(t){var e=this.__data__,r=vnt(e,t);return r<0?void 0:e[r][1]},mnt.prototype.has=function(t){return vnt(this.__data__,t)>-1},mnt.prototype.set=function(t,e){var r=this.__data__,n=vnt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var bnt="object"==typeof global&&global&&global.Object===Object&&global,xnt="object"==typeof self&&self&&self.Object===Object&&self,wnt=bnt||xnt||Function("return this")(),Ant=wnt.Symbol,_nt=Object.prototype,Ent=_nt.hasOwnProperty,Snt=_nt.toString,knt=Ant?Ant.toStringTag:void 0;var Mnt=Object.prototype.toString;var Ont=Ant?Ant.toStringTag:void 0;function Tnt(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":Ont&&Ont in Object(t)?function(t){var e=Ent.call(t,knt),r=t[knt];try{t[knt]=void 0;var n=!0}catch(t){}var i=Snt.call(t);return n&&(e?t[knt]=r:delete t[knt]),i}(t):function(t){return Mnt.call(t)}(t)}function Pnt(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Int(t){if(!Pnt(t))return!1;var e=Tnt(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var Cnt=wnt["__core-js_shared__"],Rnt=function(){var t=/[^.]+$/.exec(Cnt&&Cnt.keys&&Cnt.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();var Dnt=Function.prototype.toString;function Lnt(t){if(null!=t){try{return Dnt.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var jnt=/^\[object .+?Constructor\]$/,Nnt=Function.prototype,Fnt=Object.prototype,znt=Nnt.toString,Unt=Fnt.hasOwnProperty,Bnt=RegExp("^"+znt.call(Unt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function $nt(t){return!(!Pnt(t)||(e=t,Rnt&&Rnt in e))&&(Int(t)?Bnt:jnt).test(Lnt(t));var e}function Ynt(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return $nt(r)?r:void 0}var Gnt=Ynt(wnt,"Map"),Hnt=Ynt(Object,"create");var Wnt=Object.prototype.hasOwnProperty;var qnt=Object.prototype.hasOwnProperty;function Vnt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Xnt(t,e){var r=t.__data__;return function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}(e)?r["string"==typeof e?"string":"hash"]:r.map}function Knt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Vnt.prototype.clear=function(){this.__data__=Hnt?Hnt(null):{},this.size=0},Vnt.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Vnt.prototype.get=function(t){var e=this.__data__;if(Hnt){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return Wnt.call(e,t)?e[t]:void 0},Vnt.prototype.has=function(t){var e=this.__data__;return Hnt?void 0!==e[t]:qnt.call(e,t)},Vnt.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Hnt&&void 0===e?"__lodash_hash_undefined__":e,this},Knt.prototype.clear=function(){this.size=0,this.__data__={hash:new Vnt,map:new(Gnt||mnt),string:new Vnt}},Knt.prototype.delete=function(t){var e=Xnt(this,t).delete(t);return this.size-=e?1:0,e},Knt.prototype.get=function(t){return Xnt(this,t).get(t)},Knt.prototype.has=function(t){return Xnt(this,t).has(t)},Knt.prototype.set=function(t,e){var r=Xnt(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Qnt(t){var e=this.__data__=new mnt(t);this.size=e.size}Qnt.prototype.clear=function(){this.__data__=new mnt,this.size=0},Qnt.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Qnt.prototype.get=function(t){return this.__data__.get(t)},Qnt.prototype.has=function(t){return this.__data__.has(t)},Qnt.prototype.set=function(t,e){var r=this.__data__;if(r instanceof mnt){var n=r.__data__;if(!Gnt||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Knt(n)}return r.set(t,e),this.size=r.size,this};function Jnt(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new Knt;++e<r;)this.add(t[e])}function Znt(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function tit(t,e){return t.has(e)}Jnt.prototype.add=Jnt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Jnt.prototype.has=function(t){return this.__data__.has(t)};function eit(t,e,r,n,i,o){var a=1&r,s=t.length,c=e.length;if(s!=c&&!(a&&c>s))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var h=-1,f=!0,d=2&r?new Jnt:void 0;for(o.set(t,e),o.set(e,t);++h<s;){var p=t[h],g=e[h];if(n)var v=a?n(g,p,h,e,t,o):n(p,g,h,t,e,o);if(void 0!==v){if(v)continue;f=!1;break}if(d){if(!Znt(e,function(t,e){if(!tit(d,e)&&(p===t||i(p,t,r,n,o)))return d.push(e)})){f=!1;break}}else if(p!==g&&!i(p,g,r,n,o)){f=!1;break}}return o.delete(t),o.delete(e),f}var rit=wnt.Uint8Array;function nit(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}function iit(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}var oit=Ant?Ant.prototype:void 0,ait=oit?oit.valueOf:void 0;function sit(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var cit=Array.isArray;function lit(t,e,r){var n=e(t);return cit(t)?n:sit(n,r(t))}function uit(){return[]}var hit=Object.prototype.propertyIsEnumerable,fit=Object.getOwnPropertySymbols,dit=fit?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var r=-1,n=null==t?0:t.length,i=0,o=[];++r<n;){var a=t[r];e(a,r,t)&&(o[i++]=a)}return o}(fit(t),function(e){return hit.call(t,e)}))}:uit;function pit(t){return null!=t&&"object"==typeof t}function git(t){return pit(t)&&"[object Arguments]"==Tnt(t)}var vit=Object.prototype,yit=vit.hasOwnProperty,mit=vit.propertyIsEnumerable,bit=git(function(){return arguments}())?git:function(t){return pit(t)&&yit.call(t,"callee")&&!mit.call(t,"callee")};var xit="object"==typeof t&&t&&!t.nodeType&&t,wit=xit&&"object"==typeof module&&module&&!module.nodeType&&module,Ait=wit&&wit.exports===xit?wnt.Buffer:void 0,_it=(Ait?Ait.isBuffer:void 0)||function(){return!1},Eit=/^(?:0|[1-9]\d*)$/;function Sit(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&Eit.test(t))&&t>-1&&t%1==0&&t<e}function kit(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var Mit={};function Oit(t){return function(e){return t(e)}}Mit["[object Float32Array]"]=Mit["[object Float64Array]"]=Mit["[object Int8Array]"]=Mit["[object Int16Array]"]=Mit["[object Int32Array]"]=Mit["[object Uint8Array]"]=Mit["[object Uint8ClampedArray]"]=Mit["[object Uint16Array]"]=Mit["[object Uint32Array]"]=!0,Mit["[object Arguments]"]=Mit["[object Array]"]=Mit["[object ArrayBuffer]"]=Mit["[object Boolean]"]=Mit["[object DataView]"]=Mit["[object Date]"]=Mit["[object Error]"]=Mit["[object Function]"]=Mit["[object Map]"]=Mit["[object Number]"]=Mit["[object Object]"]=Mit["[object RegExp]"]=Mit["[object Set]"]=Mit["[object String]"]=Mit["[object WeakMap]"]=!1;var Tit="object"==typeof t&&t&&!t.nodeType&&t,Pit=Tit&&"object"==typeof module&&module&&!module.nodeType&&module,Iit=Pit&&Pit.exports===Tit&&bnt.process,Cit=function(){try{var t=Pit&&Pit.require&&Pit.require("util").types;return t||Iit&&Iit.binding&&Iit.binding("util")}catch(t){}}(),Rit=Cit&&Cit.isTypedArray,Dit=Rit?Oit(Rit):function(t){return pit(t)&&kit(t.length)&&!!Mit[Tnt(t)]},Lit=Object.prototype.hasOwnProperty;function jit(t,e){var r=cit(t),n=!r&&bit(t),i=!r&&!n&&_it(t),o=!r&&!n&&!i&&Dit(t),a=r||n||i||o,s=a?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],c=s.length;for(var l in t)!e&&!Lit.call(t,l)||a&&("length"==l||i&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Sit(l,c))||s.push(l);return s}var Nit=Object.prototype;function Fit(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Nit)}function zit(t,e){return function(r){return t(e(r))}}var Uit=zit(Object.keys,Object),Bit=Object.prototype.hasOwnProperty;function $it(t){if(!Fit(t))return Uit(t);var e=[];for(var r in Object(t))Bit.call(t,r)&&"constructor"!=r&&e.push(r);return e}function Yit(t){return null!=t&&kit(t.length)&&!Int(t)}function Git(t){return Yit(t)?jit(t):$it(t)}function Hit(t){return lit(t,Git,dit)}var Wit=Object.prototype.hasOwnProperty;var qit=Ynt(wnt,"DataView"),Vit=Ynt(wnt,"Promise"),Xit=Ynt(wnt,"Set"),Kit=Ynt(wnt,"WeakMap"),Qit="[object Map]",Jit="[object Promise]",Zit="[object Set]",tot="[object WeakMap]",eot="[object DataView]",rot=Lnt(qit),not=Lnt(Gnt),iot=Lnt(Vit),oot=Lnt(Xit),aot=Lnt(Kit),sot=Tnt;(qit&&sot(new qit(new ArrayBuffer(1)))!=eot||Gnt&&sot(new Gnt)!=Qit||Vit&&sot(Vit.resolve())!=Jit||Xit&&sot(new Xit)!=Zit||Kit&&sot(new Kit)!=tot)&&(sot=function(t){var e=Tnt(t),r="[object Object]"==e?t.constructor:void 0,n=r?Lnt(r):"";if(n)switch(n){case rot:return eot;case not:return Qit;case iot:return Jit;case oot:return Zit;case aot:return tot}return e});var cot=sot,lot="[object Arguments]",uot="[object Array]",hot="[object Object]",fot=Object.prototype.hasOwnProperty;function dot(t,e,r,n,i,o){var a=cit(t),s=cit(e),c=a?uot:cot(t),l=s?uot:cot(e),u=(c=c==lot?hot:c)==hot,h=(l=l==lot?hot:l)==hot,f=c==l;if(f&&_it(t)){if(!_it(e))return!1;a=!0,u=!1}if(f&&!u)return o||(o=new Qnt),a||Dit(t)?eit(t,e,r,n,i,o):function(t,e,r,n,i,o,a){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!o(new rit(t),new rit(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return gnt(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var s=nit;case"[object Set]":var c=1&n;if(s||(s=iit),t.size!=e.size&&!c)return!1;var l=a.get(t);if(l)return l==e;n|=2,a.set(t,e);var u=eit(s(t),s(e),n,i,o,a);return a.delete(t),u;case"[object Symbol]":if(ait)return ait.call(t)==ait.call(e)}return!1}(t,e,c,r,n,i,o);if(!(1&r)){var d=u&&fot.call(t,"__wrapped__"),p=h&&fot.call(e,"__wrapped__");if(d||p){var g=d?t.value():t,v=p?e.value():e;return o||(o=new Qnt),i(g,v,r,n,o)}}return!!f&&(o||(o=new Qnt),function(t,e,r,n,i,o){var a=1&r,s=Hit(t),c=s.length;if(c!=Hit(e).length&&!a)return!1;for(var l=c;l--;){var u=s[l];if(!(a?u in e:Wit.call(e,u)))return!1}var h=o.get(t),f=o.get(e);if(h&&f)return h==e&&f==t;var d=!0;o.set(t,e),o.set(e,t);for(var p=a;++l<c;){var g=t[u=s[l]],v=e[u];if(n)var y=a?n(v,g,u,e,t,o):n(g,v,u,t,e,o);if(!(void 0===y?g===v||i(g,v,r,n,o):y)){d=!1;break}p||(p="constructor"==u)}if(d&&!p){var m=t.constructor,b=e.constructor;m==b||!("constructor"in t)||!("constructor"in e)||"function"==typeof m&&m instanceof m&&"function"==typeof b&&b instanceof b||(d=!1)}return o.delete(t),o.delete(e),d}(t,e,r,n,i,o))}function pot(t,e,r,n,i){return t===e||(null==t||null==e||!pit(t)&&!pit(e)?t!=t&&e!=e:dot(t,e,r,n,pot,i))}function got(t,e){return pot(t,e)}var vot=function(){try{var t=Ynt(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function yot(t,e,r){"__proto__"==e&&vot?vot(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var mot=Object.prototype.hasOwnProperty;function bot(t,e,r){var n=t[e];mot.call(t,e)&&gnt(n,r)&&(void 0!==r||e in t)||yot(t,e,r)}function xot(t,e,r,n){var i=!r;r||(r={});for(var o=-1,a=e.length;++o<a;){var s=e[o],c=n?n(r[s],t[s],s,r,t):void 0;void 0===c&&(c=t[s]),i?yot(r,s,c):bot(r,s,c)}return r}function wot(t){return t}function Aot(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}var _ot=Math.max;function Eot(t){return function(){return t}}var Sot=vot?function(t,e){return vot(t,"toString",{configurable:!0,enumerable:!1,value:Eot(e),writable:!0})}:wot,kot=Date.now;var Mot=function(t){var e=0,r=0;return function(){var n=kot(),i=16-(n-r);if(r=n,i>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Sot);function Oot(t,e){return Mot(function(t,e,r){return e=_ot(void 0===e?t.length-1:e,0),function(){for(var n=arguments,i=-1,o=_ot(n.length-e,0),a=Array(o);++i<o;)a[i]=n[e+i];i=-1;for(var s=Array(e+1);++i<e;)s[i]=n[i];return s[e]=r(a),Aot(t,this,s)}}(t,e,wot),t+"")}function Tot(t,e,r){if(!Pnt(r))return!1;var n=typeof e;return!!("number"==n?Yit(r)&&Sit(e,r.length):"string"==n&&e in r)&&gnt(r[e],t)}var Pot=Object.prototype.hasOwnProperty;function Iot(t){if(!Pnt(t))return function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}(t);var e=Fit(t),r=[];for(var n in t)("constructor"!=n||!e&&Pot.call(t,n))&&r.push(n);return r}function Cot(t){return Yit(t)?jit(t,!0):Iot(t)}var Rot,Dot=(Rot=function(t,e,r,n){xot(e,Cot(e),t,n)},Oot(function(t,e){var r=-1,n=e.length,i=n>1?e[n-1]:void 0,o=n>2?e[2]:void 0;for(i=Rot.length>3&&"function"==typeof i?(n--,i):void 0,o&&Tot(e[0],e[1],o)&&(i=n<3?void 0:i,n=1),t=Object(t);++r<n;){var a=e[r];a&&Rot(t,a,r,i)}return t})),Lot=zit(Object.getPrototypeOf,Object),jot=Function.prototype,Not=Object.prototype,Fot=jot.toString,zot=Not.hasOwnProperty,Uot=Fot.call(Object);function Bot(t){if(!pit(t))return!1;var e=Tnt(t);return"[object Error]"==e||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!function(t){if(!pit(t)||"[object Object]"!=Tnt(t))return!1;var e=Lot(t);if(null===e)return!0;var r=zot.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&Fot.call(r)==Uot}(t)}var $ot=Oot(function(t,e){try{return Aot(t,void 0,e)}catch(t){return Bot(t)?t:new Error(t)}});function Yot(t,e){for(var r=-1,n=null==t?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var Got=Object.prototype,Hot=Got.hasOwnProperty;function Wot(t,e,r,n){return void 0===t||gnt(t,Got[r])&&!Hot.call(n,r)?e:t}var qot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};function Vot(t){return"\\"+qot[t]}var Xot=/<%=([\s\S]+?)%>/g;var Kot,Qot=(Kot={"&":"&","<":"<",">":">",'"':""","'":"'"},function(t){return null==Kot?void 0:Kot[t]});function Jot(t){return"symbol"==typeof t||pit(t)&&"[object Symbol]"==Tnt(t)}var Zot=Ant?Ant.prototype:void 0,tat=Zot?Zot.toString:void 0;function eat(t){if("string"==typeof t)return t;if(cit(t))return Yot(t,eat)+"";if(Jot(t))return tat?tat.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function rat(t){return null==t?"":eat(t)}var nat=/[&<>"']/g,iat=RegExp(nat.source);var oat={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:Xot,variable:"",imports:{_:{escape:function(t){return(t=rat(t))&&iat.test(t)?t.replace(nat,Qot):t}}}},aat=/\b__p \+= '';/g,sat=/\b(__p \+=) '' \+/g,cat=/(__e\(.*?\)|\b__t\)) \+\n'';/g,lat=/[()=,{}\[\]\/\s]/,uat=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,hat=/($^)/,fat=/['\n\r\u2028\u2029\\]/g,dat=Object.prototype.hasOwnProperty;function pat(t){return t}function gat(t){return Math.pow(t,2)}function vat(t){return 1-Math.sin(Math.acos(t))}function yat(t,e={x:1.5}){return Math.pow(t,2)*((e.x+1)*t-e.x)}function mat(t){for(let e=0,r=1;;e+=r,r/=2)if(t>=(7-4*e)/11)return-Math.pow((11-6*e-11*t)/4,2)+Math.pow(r,2)}function bat(t,e={x:1.5}){return Math.pow(2,10*(t-1))*Math.cos(20*Math.PI*e.x/3*t)}var xat={linear:pat,quad:gat,circ:vat,back:yat,bounce:mat,elastic:bat},wat=Object.freeze({__proto__:null,linear:pat,quad:gat,circ:vat,back:yat,bounce:mat,elastic:bat,default:xat});function Aat(t){var{duration:e=1e3,easing:r,component:n,step:i=()=>{},onStart:o,onProgress:a,onComplete:s,options:c,repeat:l=!1,delta:u}=t;let h;h="string"==typeof u?wat[u]:u||pat,"out"===r?h=function(t,e){return function(r){return 1-t(1-r,e)}}(h,c):"inout"===r&&(h=function(t,e){return function(r){return r<.5?t(2*r,e)/2:(2-t(2*(1-r),e))/2}}(h,c));var f=!1;return{start:function(){if(f)return this;f=!0,o&&o();var t=0,r=()=>{if(f){0===t&&(t=performance.now());var n=(performance.now()-t)/e,o=l?n%1:Math.min(n,1);i(h(o,c)),a&&a(o),!(n>=1)||l&&f||(this.stop(),t=0),f&&requestAnimationFrame(r)}};return requestAnimationFrame(r),this},stop:function(){return f=!1,s&&s(),this}}}class _at{constructor(t,e){this._started=!1,this._raf=null,this._timeout=null,this.client=t,this.config=e,this._started=!1;const{delta:r="linear",options:n,ease:i}=this.config;let o;o="string"==typeof r?xat[r]:r,this.delta="out"===i?function(t,e){return function(r){return 1-t(1-r,e)}}(o,n):"inout"===i?function(t,e){return function(r){return r<.5?t(2*r,e)/2:(2-t(2*(1-r),e))/2}}(o,n):o,this.init()}dispose(){this.stop(),delete this.client}init(){}start(){if(this._started)return;const{duration:t=2e3,delay:e=0,repeat:r=!1,interval:n=0,onComplete:i}=this.config;this._started=!0;let o=0,a=0;const s=()=>{if(this._raf=null,this._timeout=null,!this._started)return;0==o&&(o=performance.now(),this.client?.touch?.());const c=performance.now()-o,l=Math.max((c-e)%(t+n),0)/t,u=n<=0&&a>l;if(a=l,l>=1||u){if(this.step(1),this.client&&this.client.invalidate?.(),!r||!this._started)return this.stop(i),void(o=0);if(n>0)return void(this._timeout=setTimeout(()=>{this.step(0),this.client&&this.client.invalidate?.(),this._timeout=setTimeout(s,n/2)},n/2))}else this.step(this.delta(l)),this.client&&this.client.invalidate?.();this._raf=requestAnimationFrame(s)};this._raf=requestAnimationFrame(s)}stop(t){this._raf&&cancelAnimationFrame(this._raf),this._timeout&&clearTimeout(this._timeout),this._raf=null,this._timeout=null,this._started=!1,t?.()}step(t){}get started(){return this._started}set started(t){this.started!=!!t&&(t?this.start():this.stop())}}const Eat={rotation:class extends _at{step(t){const{theta:e=6.28}=this.config;this.client.delta?.("theta",t*e)}},vibration:class extends _at{step(t){const{theta:e=.2617993877991494}=this.config,r=4*e;let n=t*r;t<1/4?n*=-1:t<3/4?n-=2*e:n=r-n,this.client.delta?.("theta",n)}},heartbeat:class extends _at{step(t){const{scale:e=1.3}=this.config,r=2*(e-1);let n;n=t<.5?1+r*t:1+(1-t)*r,this.client.delta?.({sx:n,sy:n})}},moving:class extends _at{step(t){const{x:e=0,y:r=0}=this.config;this.client.delta?.({tx:t*e,ty:t*r})}},outline:class extends _at{step(t){const{rideOn:e}=this.config;if(!e||!this.client)return;const r=this.client.root.findById(e);if(!r)return;let n={tx:0,ty:0};const i=this.client.delta("");i&&"object"==typeof i&&"tx"in i&&"ty"in i&&(n=i);const{tx:o,ty:a}=n,s=r.outline(t),{x:c,y:l}=this.client.center,u=this.client.toScene(c,l);this.client.delta({tx:s.x-u.x+o,ty:s.y-u.y+a})}},fade:class extends _at{step(t){const{startAlpha:e=1,endAlpha:r=0}=this.config,n=Math.max(Math.min(e,r,1),0),i=2*(Math.min(Math.max(e,r,1),1)-n);let o;o=t<.5?i*t:(1-t)*i,this.client.delta?.("fade",o)}},waypoint:class extends _at{start(){let{toComponent:t,fromComponent:e}=this.config;e||(e=t);const r=e.center,n=t.center,{x:i,y:o}=e.toScene(r.x,r.y),{x:a,y:s}=t.toScene(n.x,n.y),c=Math.atan2(s-o,a-i)+Math.PI/2;this.client.location={x:i,y:o},this.client.setState("rotation",c),super.start()}stop(){const{toComponent:t}=this.config;super.stop();const e=t.center,r=t.toScene(e.x,e.y);this.client.delta({tx:0,ty:0}),this.client.location=r}step(t){let{toComponent:e,fromComponent:r}=this.config;r||(r=e);const n=r.center,i=e.center,{x:o,y:a}=r.toScene(n.x,n.y),{x:s,y:c}=e.toScene(i.x,i.y),l=(s-o)*t,u=(c-a)*t;this.client.location={x:o+l,y:a+u}}}};function Sat(t,e){const r=Eat[e.type];return r?new r(t,e):null}var kat="object"==typeof t&&t&&!t.nodeType&&t,Mat=kat&&"object"==typeof module&&module&&!module.nodeType&&module,Oat=Mat&&Mat.exports===kat?wnt.Buffer:void 0,Tat=Oat?Oat.allocUnsafe:void 0;var Pat=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)sit(e,dit(t)),t=Lot(t);return e}:uit;function Iat(t){return lit(t,Cot,Pat)}var Cat=Object.prototype.hasOwnProperty;function Rat(t){var e=new t.constructor(t.byteLength);return new rit(e).set(new rit(t)),e}var Dat=/\w*$/;var Lat=Ant?Ant.prototype:void 0,jat=Lat?Lat.valueOf:void 0;function Nat(t,e,r){var n,i=t.constructor;switch(e){case"[object ArrayBuffer]":return Rat(t);case"[object Boolean]":case"[object Date]":return new i(+t);case"[object DataView]":return function(t,e){var r=e?Rat(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t,e){var r=e?Rat(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}(t,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,Dat.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return n=t,jat?Object(jat.call(n)):{}}}var Fat=Object.create,zat=function(){function t(){}return function(e){if(!Pnt(e))return{};if(Fat)return Fat(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();var Uat=Cit&&Cit.isMap,Bat=Uat?Oit(Uat):function(t){return pit(t)&&"[object Map]"==cot(t)};var $at=Cit&&Cit.isSet,Yat=$at?Oit($at):function(t){return pit(t)&&"[object Set]"==cot(t)},Gat="[object Arguments]",Hat="[object Function]",Wat="[object Object]",qat={};function Vat(t,e,r,n,i,o){var a,s=1&e,c=2&e,l=4&e;if(r&&(a=i?r(t,n,i,o):r(t)),void 0!==a)return a;if(!Pnt(t))return t;var u=cit(t);if(u){if(a=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&Cat.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!s)return function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}(t,a)}else{var h=cot(t),f=h==Hat||"[object GeneratorFunction]"==h;if(_it(t))return function(t,e){if(e)return t.slice();var r=t.length,n=Tat?Tat(r):new t.constructor(r);return t.copy(n),n}(t,s);if(h==Wat||h==Gat||f&&!i){if(a=c||f?{}:function(t){return"function"!=typeof t.constructor||Fit(t)?{}:zat(Lot(t))}(t),!s)return c?function(t,e){return xot(t,Pat(t),e)}(t,function(t,e){return t&&xot(e,Cot(e),t)}(a,t)):function(t,e){return xot(t,dit(t),e)}(t,function(t,e){return t&&xot(e,Git(e),t)}(a,t))}else{if(!qat[h])return i?t:{};a=Nat(t,h,s)}}o||(o=new Qnt);var d=o.get(t);if(d)return d;o.set(t,a),Yat(t)?t.forEach(function(n){a.add(Vat(n,e,r,n,t,o))}):Bat(t)&&t.forEach(function(n,i){a.set(i,Vat(n,e,r,i,t,o))});var p=u?void 0:(l?c?Iat:Hit:c?Cot:Git)(t);return function(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););}(p||t,function(n,i){p&&(n=t[i=n]),bot(a,i,Vat(n,e,r,i,t,o))}),a}qat[Gat]=qat["[object Array]"]=qat["[object ArrayBuffer]"]=qat["[object DataView]"]=qat["[object Boolean]"]=qat["[object Date]"]=qat["[object Float32Array]"]=qat["[object Float64Array]"]=qat["[object Int8Array]"]=qat["[object Int16Array]"]=qat["[object Int32Array]"]=qat["[object Map]"]=qat["[object Number]"]=qat[Wat]=qat["[object RegExp]"]=qat["[object Set]"]=qat["[object String]"]=qat["[object Symbol]"]=qat["[object Uint8Array]"]=qat["[object Uint8ClampedArray]"]=qat["[object Uint16Array]"]=qat["[object Uint32Array]"]=!0,qat["[object Error]"]=qat[Hat]=qat["[object WeakMap]"]=!1;function Xat(t){return Vat(t,4)}var Kat=function(){return wnt.Date.now()},Qat=/\s/;var Jat=/^\s+/;function Zat(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Qat.test(t.charAt(e)););return e}(t)+1).replace(Jat,""):t}var tst=/^[-+]0x[0-9a-f]+$/i,est=/^0b[01]+$/i,rst=/^0o[0-7]+$/i,nst=parseInt;function ist(t){if("number"==typeof t)return t;if(Jot(t))return NaN;if(Pnt(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=Pnt(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Zat(t);var r=est.test(t);return r||rst.test(t)?nst(t.slice(2),r?2:8):tst.test(t)?NaN:+t}var ost=Math.max,ast=Math.min;function sst(t,e,r){var n,i,o,a,s,c,l=0,u=!1,h=!1,f=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function d(e){var r=n,o=i;return n=i=void 0,l=e,a=t.apply(o,r)}function p(t){var r=t-c;return void 0===c||r>=e||r<0||h&&t-l>=o}function g(){var t=Kat();if(p(t))return v(t);s=setTimeout(g,function(t){var r=e-(t-c);return h?ast(r,o-(t-l)):r}(t))}function v(t){return s=void 0,f&&n?d(t):(n=i=void 0,a)}function y(){var t=Kat(),r=p(t);if(n=arguments,i=this,c=t,r){if(void 0===s)return function(t){return l=t,s=setTimeout(g,e),u?d(t):a}(c);if(h)return clearTimeout(s),s=setTimeout(g,e),d(c)}return void 0===s&&(s=setTimeout(g,e)),a}return e=ist(e)||0,Pnt(r)&&(u=!!r.leading,o=(h="maxWait"in r)?ost(ist(r.maxWait)||0,e):o,f="trailing"in r?!!r.trailing:f),y.cancel=function(){void 0!==s&&clearTimeout(s),l=0,n=c=i=s=void 0},y.flush=function(){return void 0===s?a:v(Kat())},y}function cst(t,e,r){var n=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return Pnt(r)&&(n="leading"in r?!!r.leading:n,i="trailing"in r?!!r.trailing:i),sst(t,e,{leading:n,maxWait:e,trailing:i})}var lst=1/0;function ust(t){var e=function(t){return t?(t=ist(t))===lst||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}(t),r=e%1;return e==e?r?e-r:e:0}function hst(t){return function(t,e){var r;if("function"!=typeof e)throw new TypeError("Expected a function");return t=ust(t),function(){return--t>0&&(r=e.apply(this,arguments)),t<=1&&(e=void 0),r}}(2,t)}var fst=Object.prototype.hasOwnProperty;function dst(t){if(null==t)return!0;if(Yit(t)&&(cit(t)||"string"==typeof t||"function"==typeof t.splice||_it(t)||Dit(t)||bit(t)))return!t.length;var e=cot(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(Fit(t))return!$it(t).length;for(var r in t)if(fst.call(t,r))return!1;return!0}var pst=0;function gst(t={},...e){return"object"!=typeof t&&(t={}),e.forEach(e=>{for(let r in e)"object"!=typeof e[r]?t[r]=e[r]:e[r].length>0?t[r]=e[r].map(t=>{let n;return n="object"!=typeof e[r]?t:gst({},t),n}):t[r]=gst(t[r],e[r])}),t}function vst(t){for(;t&&"object"==typeof t;){let e=t;for(let e in t){t=t[e];break}if(t===e){t=void 0;break}}return t}var yst=Object.freeze({__proto__:null,insertAt:function(t,e){return this.__collection__?(-1==this.__collection__.indexOf(e)&&this.__collection__.splice(t,0,e),this):this},append:function(t){return this.__collection__||(this.__collection__=[]),-1==this.__collection__.indexOf(t)&&this.__collection__.push(t),this},prepend:function(t){return this.__collection__||(this.__collection__=[]),-1==this.__collection__.indexOf(t)&&this.__collection__.unshift(t),this},remove:function(t){if(!this.__collection__)return this;const e=this.__collection__.indexOf(t);return e>=0&&this.__collection__.splice(e,1),this},getAt:function(t){if(this.__collection__)return this.__collection__[t]},forEach:function(t,e){this.__collection__&&this.__collection__.forEach(t,e)},indexOf:function(t){return this.__collection__?this.__collection__.indexOf(t):-1},size:function(){return this.__collection__?this.__collection__.length:0},clear:function(){this.__collection__=[]},moveForward:function(t){const e=this.indexOf(t);-1!=e&&0!=e&&(this.__collection__[e]=this.__collection__[e-1],this.__collection__[e-1]=t)},moveBackward:function(t){const e=this.indexOf(t);-1!=e&&e!=this.size()-1&&(this.__collection__[e]=this.__collection__[e+1],this.__collection__[e+1]=t)},moveToHead:function(t){const e=this.indexOf(t);if(-1==e||0==e)return;const r=this.__collection__.splice(0,e),n=this.__collection__.splice(1);this.__collection__=this.__collection__.concat(r,n)},moveToTail:function(t){const e=this.indexOf(t);if(-1==e||e==this.size()-1)return;const r=this.__collection__.splice(0,e),n=this.__collection__.splice(1);this.__collection__=r.concat(n,this.__collection__)}});function mst(){}mst.prototype=yst;var bst=/\s+/;function xst(t,e,r,n){if(!r)return!0;if("object"==typeof r){for(let n in r){let i=r[n];t[e].apply(t,[n,i])}return!1}return!bst.test(r)||(r.split(bst).forEach(r=>t[e].apply(t,[r].concat(n))),!1)}const wst=["on","off","once","delegate_on","delegate_off","trigger","listenTo"];var Ast={withEvent(){wst.forEach(t=>this[t]=Ast[t])},on(t,e,r){return xst(this,"on",t,[e,r])&&e?(this._listeners||(this._listeners={}),(this._listeners[t]||(this._listeners[t]=[])).push({callback:e,context:r,ctx:r||this}),this):this},once(t,e,r){if(!xst(this,"once",t,[e,r])||!e)return this;var n=this,i=hst(function(){n.off(t,i,r),e.apply(n,arguments)});return i._callback=e,this.on(t,i,r),this},off(t,e,r){if(!this._listeners||!xst(this,"off",t,[e,r]))return this;if(!t&&!e&&!r)return this._listeners=void 0,this;var n;n=t&&"string"==typeof t?[t]:Object.keys(this._listeners||{});for(let t=0;t<n.length;t++){let i=n[t],o=this._listeners?.[i];if(o){let t=[];if(this._listeners[i]=t,e||r)for(let n=0;n<o.length;n++){let i=o[n];(e&&e!==i.callback&&e!==i.callback._callback||r&&r!==i.context)&&t.push(i)}t.length||delete this._listeners[i]}}return this},delegate_on(t){return this._delegators||(this._delegators=new mst),this._delegators.append(t),this},delegate_off(t){return this._delegators?(this._delegators.remove(t),this):this},delegate(){if(this._delegators&&this._delegators.size()>0&&Est(this._delegators,arguments),!this._listeners)return this;var t=arguments.length-1,e=arguments[t];arguments[t]={origin:e.origin,name:e.name,deliverer:this};var r=this._listeners[e.name],n=this._listeners["(all)"];return r&&_st(r,arguments),n&&_st(n,arguments),this},trigger(t){var e=[].slice.call(arguments,1);if(e.push({origin:this,name:t,deliverer:this}),this._delegators&&this._delegators.size()>0&&Est(this._delegators,e),!this._listeners)return this;if(!xst(this,"trigger",t,e))return this;var r=this._listeners[t],n=this._listeners["(all)"];return r&&_st(r,e),n&&_st(n,e),this},stopListening(t,e,r){var n=this._listeningTo;if(!n)return this;var i=!e&&!r;r||"object"!=typeof e||(r=this),t&&((n={})[t._listenId]=t);for(let t in n){let o=n[t];o.off(e,r,this),(i||dst(o._events))&&delete this._listeningTo[t]}return this}};function _st(t,e){t.forEach(t=>t.callback.apply(t.ctx,e))}function Est(t,e){t.forEach(t=>Ast.delegate.apply(t,e))}var Sst={listenTo:"on",listenToOnce:"once"};for(let t in Sst){var kst=Sst[t];Ast[t]=function(t,e,r){this._listeningTo||(this._listeningTo={});var n=this._listeningTo;return t._listenId||(t._listenId=`${"l"||""}${++pst}`),n[t._listenId]=t,r||"object"!=typeof e||(r=this),t[kst](e,r,this),this}}function Mst(t,e){if(e instanceof Array)e.forEach(e=>Mst(t,e));else{if(t.mixedIn=t.hasOwnProperty("mixedIn")?t.mixedIn:[],t.mixingIn=t.hasOwnProperty("mixingIn")?t.mixingIn:[],t.mixedIn.indexOf(e)>=0)return t;if(t.mixingIn.indexOf(e)>=0)throw new Error(`found cyclic dependencies between ${t.mixingIn}`);t.mixingIn.push(e),e.call(t),t.mixingIn.pop(),t.mixedIn.push(e)}return t}var Ost=(...t)=>{var e=[];t.forEach(t=>t&&t.stack&&e.push(t.stack)),console.error("[ERROR]",...t,e.join(" "))},Tst=(...t)=>{var e=[];t.forEach(t=>t&&t.stack&&e.push(t.stack)),console.warn("[WARN]",...t,e.join(" "))},Pst=(...t)=>console.log("[DEBUG]",...t);function Ist(t,e,r){const n=t.__lookupGetter__(e);n?r?t.__defineGetter__(e,function(){return void 0===this.__cache__[e]&&(this.__cache__[e]=n.call(this)),Xat(this.__cache__[e])}):t.__defineGetter__(e,function(){return void 0===this.__cache__[e]&&(this.__cache__[e]=n.call(this)),this.__cache__[e]}):Ost(`${String(e)} is not defined in ${t.constructor.name}`)}const Cst="undefined"==typeof window?1:window.devicePixelRatio||(window.matchMedia&&window.matchMedia("(min-resolution: 2dppx), (-webkit-min-device-pixel-ratio: 1.5),(-moz-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)").matches?2:1)||1,Rst=["mousemove","mouseup","mousedown","mouseout","wheel","touchstart","touchmove","touchend","dblclick"],Dst=["keydown","keyup"],Lst={ALPHA:1,FONT_SIZE:15,FONT_FAMILY:"Roboto, sans-serif",FONT_COLOR:"black",TEXT_ALIGN:"center",TEXT_BASELINE:"middle",TEXT_WRAP:!1,BOLD:!1,ITALIC:!1,STROKE_STYLE:"#999",LINE_DASH:"solid",LETTER_SPACING:0},jst=()=>{const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim(),r=t.fontFamily||"sans-serif";Lst.FONT_FAMILY=e||r},Nst=()=>{window.addEventListener("load",()=>{jst()}),"fonts"in document&&"ready"in document.fonts&&document.fonts.ready.then(jst);new MutationObserver(()=>{jst()}).observe(document.documentElement,{attributes:!0,attributeFilter:["style","class"]})};Nst(),jst();const Fst={x:1,y:1};function zst(t,e,r){var{left:n=0,top:i=0,blurSize:o=0,color:a="transparent"}=e,s=r.rootModel.get("scale")||Fst;t.shadowOffsetX=n*s.x*Cst,t.shadowOffsetY=i*s.y*Cst,t.shadowBlur=o*s.x*Cst,t.shadowColor=a}var Ust={gradation:function(t,e,r){var{type:n,subType:i,from:o,to:a,colors:s}=r;switch(i){case"linear":var c=e.createLinearGradient(o.x,o.y,a.x,a.y);break;case"radial":c=e.createRadialGradient(o.x,o.y,o.r,a.x,a.y,a.r);break;default:c=e.createLinearGradient(o.x,o.y,a.x,a.y)}s&&(s.forEach(function(t){c.addColorStop(t.endPoint,t.color)}),e.fillStyle=c,e.fill())},shadow:zst};function Bst(t,e,r,n){var i=e.get("class");return!!i&&(i.split(" ")||[]).indexOf(t.substr(1))>=0}function $st(t,e,r,n){return t==e.get("type")}function Yst(t,e,r,n){if("(all)"==t)return!0;switch(t.charAt(0)){case"#":return function(t,e){return t.substring(1)==e.get("id")}(t,e);case".":return Bst(t,e);case"(":return function(t,e,r,n){switch(t){case"(all)":return!0;case"(self)":return n===e;case"(root)":return!n.parent&&n===e;case"(descendant)":return n!==e;case"(child)":return n===e.parent;default:return!1}}(t,e,0,n);default:return $st(t,e)}}function Gst(t,e,r,n,i,o){return t(e,r,n,i)&&o.push(r),r.components&&r.components.forEach(r=>{Gst(t,e,r,n,i,o)}),o}function Hst(t,e,r,n){switch(t){case"(all)":return!0;case"(parent)":return r&&r.parent===e;case"(child)":case"(children)":return r&&r===e.parent;case"(sibling)":case"(siblings)":return r&&r.parent===e.parent&&r!==e;default:return!1}}function Wst(t,e,r){if("(root)"==t)return[e];if("(self)"==t)return r?[r]:[];var n;switch(t.charAt(0)){case"#":let r=e.root.findAllById(t.substring(1));return r||[];case".":n=Bst;break;case"(":n=Hst;break;default:n=$st}return Gst(n,t,e,r,e,[])}function qst(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Vst={exports:{}};!function(t){var r=function(t){var e,r=Object.prototype,n=r.hasOwnProperty,i=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},a=o.iterator||"@@iterator",s=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function l(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o=e&&e.prototype instanceof y?e:y,a=Object.create(o.prototype),s=new P(n||[]);return i(a,"_invoke",{value:k(t,r,s)}),a}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f="suspendedStart",d="suspendedYield",p="executing",g="completed",v={};function y(){}function m(){}function b(){}var x={};l(x,a,function(){return this});var w=Object.getPrototypeOf,A=w&&w(w(I([])));A&&A!==r&&n.call(A,a)&&(x=A);var _=b.prototype=y.prototype=Object.create(x);function E(t){["next","throw","return"].forEach(function(e){l(t,e,function(t){return this._invoke(e,t)})})}function S(t,e){function r(i,o,a,s){var c=h(t[i],t,o);if("throw"!==c.type){var l=c.arg,u=l.value;return u&&"object"==typeof u&&n.call(u,"__await")?e.resolve(u.__await).then(function(t){r("next",t,a,s)},function(t){r("throw",t,a,s)}):e.resolve(u).then(function(t){l.value=t,a(l)},function(t){return r("throw",t,a,s)})}s(c.arg)}var o;i(this,"_invoke",{value:function(t,n){function i(){return new e(function(e,i){r(t,n,e,i)})}return o=o?o.then(i,i):i()}})}function k(t,r,n){var i=f;return function(o,a){if(i===p)throw new Error("Generator is already running");if(i===g){if("throw"===o)throw a;return{value:e,done:!0}}for(n.method=o,n.arg=a;;){var s=n.delegate;if(s){var c=M(s,n);if(c){if(c===v)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===f)throw i=g,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=p;var l=h(t,r,n);if("normal"===l.type){if(i=n.done?g:d,l.arg===v)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(i=g,n.method="throw",n.arg=l.arg)}}}function M(t,r){var n=r.method,i=t.iterator[n];if(i===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,M(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=h(i,t.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var a=o.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,v):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function I(t){if(null!=t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,o=function r(){for(;++i<t.length;)if(n.call(t,i))return r.value=t[i],r.done=!1,r;return r.value=e,r.done=!0,r};return o.next=o}}throw new TypeError(typeof t+" is not iterable")}return m.prototype=b,i(_,"constructor",{value:b,configurable:!0}),i(b,"constructor",{value:m,configurable:!0}),m.displayName=l(b,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,l(t,c,"GeneratorFunction")),t.prototype=Object.create(_),t},t.awrap=function(t){return{__await:t}},E(S.prototype),l(S.prototype,s,function(){return this}),t.AsyncIterator=S,t.async=function(e,r,n,i,o){void 0===o&&(o=Promise);var a=new S(u(e,r,n,i),o);return t.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next()})},E(_),l(_,c,"Generator"),l(_,a,function(){return this}),l(_,"toString",function(){return"[object Generator]"}),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=I,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function i(n,i){return s.type="throw",s.arg=t,r.next=n,i&&(r.method="next",r.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(c&&l){if(this.prev<a.catchLoc)return i(a.catchLoc,!0);if(this.prev<a.finallyLoc)return i(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return i(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return i(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),T(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;T(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:I(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=r}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}Number.isInteger=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},String.fromCodePoint||function(t){var e=function(e){for(var r=[],n=0,i="",o=0,a=arguments.length;o!==a;++o){var s=+arguments[o];if(!(s<1114111&&s>>>0===s))throw RangeError("Invalid code point: "+s);s<=65535?n=r.push(s):(s-=65536,n=r.push(55296+(s>>10),s%1024+56320)),n>=16383&&(i+=t.apply(null,r),r.length=0)}return i+t.apply(null,r)};try{Object.defineProperty(String,"fromCodePoint",{value:e,configurable:!0,writable:!0})}catch(t){String.fromCodePoint=e}}(String.fromCharCode),Object.is||(Object.is=function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e})
|
|
2
|
-
/*! https://mths.be/codepointat v0.2.0 by @mathias */,String.prototype.codePointAt||function(){var t=function(){try{var t={},e=Object.defineProperty,r=e(t,t,t)&&e}catch(t){}return r}(),e=function(t){if(null==this)throw TypeError();var e=String(this),r=e.length,n=t?Number(t):0;if(n!=n&&(n=0),!(n<0||n>=r)){var i,o=e.charCodeAt(n);return o>=55296&&o<=56319&&r>n+1&&(i=e.charCodeAt(n+1))>=56320&&i<=57343?1024*(o-55296)+i-56320+65536:o}};t?t(String.prototype,"codePointAt",{value:e,configurable:!0,writable:!0}):String.prototype.codePointAt=e}(),Math.log10=Math.log10||function(t){return Math.log(t)*Math.LOG10E},t.exports=function(){function t(e,r,n){function i(a,s){if(!r[a]){if(!e[a]){if(!s&&qst)return qst(a);if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[a]={exports:{}};e[a][0].call(l.exports,function(t){return i(e[a][1][t]||t)},l,l.exports,t,e,r,n)}return r[a].exports}for(var o=qst,a=0;a<n.length;a++)i(n[a]);return i}return t}()({1:[function(t,e,r){var n=t("./utils"),i=function(){var t=n.stringToArray,e=["Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"],r=["Zeroth","First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Ninth","Tenth","Eleventh","Twelfth","Thirteenth","Fourteenth","Fifteenth","Sixteenth","Seventeenth","Eighteenth","Nineteenth"],i=["Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety","Hundred"],o=["Thousand","Million","Billion","Trillion"];function a(t,n){var a=function t(n,a,s){var c="";if(n<=19)c=(a?" and ":"")+(s?r[n]:e[n]);else if(n<100){var l=Math.floor(n/10),u=n%10;c=(a?" and ":"")+i[l-2],u>0?c+="-"+t(u,!1,s):s&&(c=c.substring(0,c.length-1)+"ieth")}else if(n<1e3){var h=Math.floor(n/100),f=n%100;c=(a?", ":"")+e[h]+" Hundred",f>0?c+=t(f,!0,s):s&&(c+="th")}else{var d=Math.floor(Math.log10(n)/3);d>o.length&&(d=o.length);var p=Math.pow(10,3*d),g=Math.floor(n/p),v=n-g*p;c=(a?", ":"")+t(g,!1,!1)+" "+o[d-1],v>0?c+=t(v,!0,s):s&&(c+="th")}return c};return a(t,!1,n)}var s={};function c(t){var e=t.split(/,\s|\sand\s|[\s\\-]/).map(function(t){return s[t]}),r=[0];e.forEach(function(t){if(t<100){var e=r.pop();e>=1e3&&(r.push(e),e=0),r.push(e+t)}else r.push(r.pop()*t)});var n=r.reduce(function(t,e){return t+e},0);return n}e.forEach(function(t,e){s[t.toLowerCase()]=e}),r.forEach(function(t,e){s[t.toLowerCase()]=e}),i.forEach(function(t,e){var r=t.toLowerCase();s[r]=10*(e+2),s[r.substring(0,t.length-1)+"ieth"]=s[r]}),s.hundredth=100,o.forEach(function(t,e){var r=t.toLowerCase(),n=Math.pow(10,3*(e+1));s[r]=n,s[r+"th"]=n});var l=[[1e3,"m"],[900,"cm"],[500,"d"],[400,"cd"],[100,"c"],[90,"xc"],[50,"l"],[40,"xl"],[10,"x"],[9,"ix"],[5,"v"],[4,"iv"],[1,"i"]],u={M:1e3,D:500,C:100,L:50,X:10,V:5,I:1};function h(t){for(var e=0;e<l.length;e++){var r=l[e];if(t>=r[0])return r[1]+h(t-r[0])}return""}function f(t){for(var e=0,r=1,n=t.length-1;n>=0;n--){var i=t[n],o=u[i];o<r?e-=o:(r=o,e+=o)}return e}function d(t,e){for(var r=[],n=e.charCodeAt(0);t>0;)r.unshift(String.fromCharCode((t-1)%26+n)),t=Math.floor((t-1)/26);return r.join("")}function p(t,e){for(var r=e.charCodeAt(0),n=0,i=0;i<t.length;i++)n+=(t.charCodeAt(t.length-i-1)-r+1)*Math.pow(26,i);return n}function g(t,e){if(void 0!==t)return m(t=Math.floor(t),x(e))}var v={DECIMAL:"decimal",LETTERS:"letters",ROMAN:"roman",WORDS:"words",SEQUENCE:"sequence"},y={UPPER:"upper",LOWER:"lower",TITLE:"title"};function m(e,r){var n,i=e<0;switch(e=Math.abs(e),r.primary){case v.LETTERS:n=d(e,r.case===y.UPPER?"A":"a");break;case v.ROMAN:n=h(e),r.case===y.UPPER&&(n=n.toUpperCase());break;case v.WORDS:n=a(e,r.ordinal),r.case===y.UPPER?n=n.toUpperCase():r.case===y.LOWER&&(n=n.toLowerCase());break;case v.DECIMAL:n=""+e;var o=r.mandatoryDigits-n.length;if(o>0){var s=new Array(o+1).join("0");n=s+n}if(48!==r.zeroCode&&(n=t(n).map(function(t){return String.fromCodePoint(t.codePointAt(0)+r.zeroCode-48)}).join("")),r.regular)for(var c=Math.floor((n.length-1)/r.groupingSeparators.position);c>0;c--){var l=n.length-c*r.groupingSeparators.position;n=n.substr(0,l)+r.groupingSeparators.character+n.substr(l)}else r.groupingSeparators.reverse().forEach(function(t){var e=n.length-t.position;n=n.substr(0,e)+t.character+n.substr(e)});if(r.ordinal){var u={1:"st",2:"nd",3:"rd"}[n[n.length-1]];(!u||n.length>1&&"1"===n[n.length-2])&&(u="th"),n+=u}break;case v.SEQUENCE:throw{code:"D3130",value:r.token}}return i&&(n="-"+n),n}var b=[48,1632,1776,1984,2406,2534,2662,2790,2918,3046,3174,3302,3430,3558,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,42528,43216,43264,43472,43504,43600,44016,65296];function x(e){var r,n={type:"integer",primary:v.DECIMAL,case:y.LOWER,ordinal:!1},i=e.lastIndexOf(";");switch(-1===i?r=e:(r=e.substring(0,i),"o"===e.substring(i+1)[0]&&(n.ordinal=!0)),r){case"A":n.case=y.UPPER;case"a":n.primary=v.LETTERS;break;case"I":n.case=y.UPPER;case"i":n.primary=v.ROMAN;break;case"W":n.case=y.UPPER,n.primary=v.WORDS;break;case"Ww":n.case=y.TITLE,n.primary=v.WORDS;break;case"w":n.primary=v.WORDS;break;default:var o=null,a=0,s=0,c=[],l=0,u=t(r).map(function(t){return t.codePointAt(0)}).reverse();if(u.forEach(function(t){for(var e=!1,r=0;r<b.length;r++){var n=b[r];if(t>=n&&t<=n+9){if(e=!0,a++,l++,null===o)o=n;else if(n!==o)throw{code:"D3131"};break}}e||(35===t?(l++,s++):c.push({position:l,character:String.fromCodePoint(t)}))}),a>0){n.primary=v.DECIMAL,n.zeroCode=o,n.mandatoryDigits=a,n.optionalDigits=s;var h=function(t){if(0===t.length)return 0;for(var e=t[0].character,r=1;r<t.length;r++)if(t[r].character!==e)return 0;for(var n=t.map(function(t){return t.position}),i=function t(e,r){return 0===r?e:t(r,e%r)},o=n.reduce(i),a=1;a<=n.length;a++)if(-1===n.indexOf(a*o))return 0;return o},f=h(c);f>0?(n.regular=!0,n.groupingSeparators={position:f,character:c[0].character}):(n.regular=!1,n.groupingSeparators=c)}else n.primary=v.SEQUENCE,n.token=r}return n}var w={Y:"1",M:"1",D:"1",d:"1",F:"n",W:"1",w:"1",X:"1",x:"1",H:"1",h:"1",P:"n",m:"01",s:"01",f:"1",Z:"01:01",z:"01:01",C:"n",E:"n"};function A(t){for(var e=[],r={type:"datetime",parts:e},n=function(r,n){if(n>r){var i=t.substring(r,n);i=i.split("]]").join("]"),e.push({type:"literal",value:i})}},i=0,o=0;o<t.length;){if("["===t.charAt(o)){if("["===t.charAt(o+1)){n(i,o),e.push({type:"literal",value:"["}),i=o+=2;continue}if(n(i,o),i=o,-1===(o=t.indexOf("]",i)))throw{code:"D3135"};var a,s=t.substring(i+1,o),c={type:"marker",component:(s=s.split(/\s+/).join("")).charAt(0)},l=s.lastIndexOf(",");if(-1!==l){var u=s.substring(l+1),h=u.indexOf("-"),f=void 0,d=void 0,p=function(t){return void 0===t||"*"===t?void 0:parseInt(t)};-1===h?f=u:(f=u.substring(0,h),d=u.substring(h+1));var g={min:p(f),max:p(d)};c.width=g,a=s.substring(1,l)}else a=s.substring(1);if(1===a.length)c.presentation1=a;else if(a.length>1){var v=a.charAt(a.length-1);-1!=="atco".indexOf(v)?(c.presentation2=v,"o"===v&&(c.ordinal=!0),c.presentation1=a.substring(0,a.length-1)):c.presentation1=a}else c.presentation1=w[c.component];if(void 0===c.presentation1)throw{code:"D3132",value:c.component};if("n"===c.presentation1[0])c.names=y.LOWER;else if("N"===c.presentation1[0])"n"===c.presentation1[1]?c.names=y.TITLE:c.names=y.UPPER;else if(-1!=="YMDdFWwXxHhmsf".indexOf(c.component)){var m=c.presentation1;if(c.presentation2&&(m+=";"+c.presentation2),c.integerFormat=x(m),c.width&&void 0!==c.width.min&&c.integerFormat.mandatoryDigits<c.width.min&&(c.integerFormat.mandatoryDigits=c.width.min),-1!=="YMD".indexOf(c.component))if(c.n=-1,c.width&&void 0!==c.width.max)c.n=c.width.max,c.integerFormat.mandatoryDigits=c.n;else{var b=c.integerFormat.mandatoryDigits+c.integerFormat.optionalDigits;b>=2&&(c.n=b)}}"Z"!==c.component&&"z"!==c.component||(c.integerFormat=x(c.presentation1)),e.push(c),i=o+1}o++}return n(i,o),r}var _=["","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],E=["January","February","March","April","May","June","July","August","September","October","November","December"],S=864e5,k=function(t){var e=Date.UTC(t.year,t.month),r=new Date(e).getUTCDay();return 0===r&&(r=7),r>4?e+(8-r)*S:e-(r-1)*S},M=function t(e,r){return{year:e,month:r,nextMonth:function(){return 11===r?t(e+1,0):t(e,r+1)},previousMonth:function(){return 0===r?t(e-1,11):t(e,r-1)},nextYear:function(){return t(e+1,r)},previousYear:function(){return t(e-1,r)}}},O=function(t,e){return(e-t)/(7*S)+1},T=function(t,e){var r;switch(e){case"Y":r=t.getUTCFullYear();break;case"M":r=t.getUTCMonth()+1;break;case"D":r=t.getUTCDate();break;case"d":r=(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())-Date.UTC(t.getUTCFullYear(),0))/S+1;break;case"F":0===(r=t.getUTCDay())&&(r=7);break;case"W":var n=M(t.getUTCFullYear(),0),i=k(n),o=Date.UTC(n.year,t.getUTCMonth(),t.getUTCDate()),a=O(i,o);if(a>52)o>=k(n.nextYear())&&(a=1);else if(a<1){var s=k(n.previousYear());a=O(s,o)}r=Math.floor(a);break;case"w":var c=M(t.getUTCFullYear(),t.getUTCMonth()),l=k(c),u=Date.UTC(c.year,c.month,t.getUTCDate()),h=O(l,u);if(h>4)u>=k(c.nextMonth())&&(h=1);else if(h<1){var f=k(c.previousMonth());h=O(f,u)}r=Math.floor(h);break;case"X":var d=M(t.getUTCFullYear(),0),p=k(d),g=k(d.nextYear()),v=t.getTime();r=v<p?d.year-1:v>=g?d.year+1:d.year;break;case"x":var y=M(t.getUTCFullYear(),t.getUTCMonth()),m=k(y),b=y.nextMonth(),x=k(b),w=t.getTime();r=w<m?y.previousMonth().month+1:w>=x?b.month+1:y.month+1;break;case"H":r=t.getUTCHours();break;case"h":r=t.getUTCHours(),0==(r%=12)&&(r=12);break;case"P":r=t.getUTCHours()>=12?"pm":"am";break;case"m":r=t.getUTCMinutes();break;case"s":r=t.getUTCSeconds();break;case"f":r=t.getUTCMilliseconds();break;case"Z":case"z":break;case"C":case"E":r="ISO"}return r},P=null;function I(t,e,r){var n=0,i=0;if(void 0!==r){var o=parseInt(r);n=Math.floor(o/100),i=o%100}var a,s=function(t,e){var r=T(t,e.component);if(-1!=="YMDdFWwXxHhms".indexOf(e.component))if("Y"===e.component&&-1!==e.n&&(r%=Math.pow(10,e.n)),e.names){if("M"===e.component||"x"===e.component)r=E[r-1];else{if("F"!==e.component)throw{code:"D3133",value:e.component};r=_[r]}e.names===y.UPPER?r=r.toUpperCase():e.names===y.LOWER&&(r=r.toLowerCase()),e.width&&r.length>e.width.max&&(r=r.substring(0,e.width.max))}else r=m(r,e.integerFormat);else if("f"===e.component)r=m(r,e.integerFormat);else if("Z"===e.component||"z"===e.component){var o=100*n+i;if(e.integerFormat.regular)r=m(o,e.integerFormat);else{var a=e.integerFormat.mandatoryDigits;if(1===a||2===a)r=m(n,e.integerFormat),0!==i&&(r+=":"+g(i,"00"));else{if(3!==a&&4!==a)throw{code:"D3134",value:a};r=m(o,e.integerFormat)}}o>=0&&(r="+"+r),"z"===e.component&&(r="GMT"+r),0===o&&"t"===e.presentation2&&(r="Z")}return r};void 0===e?(null===P&&(P=A("[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01].[f001][Z01:01t]")),a=P):a=A(e);var c=new Date(t+60*(60*n+i)*1e3),l="";return a.parts.forEach(function(t){"literal"===t.type?l+=t.value:l+=s(c,t)}),l}function C(t){var e={};if("datetime"===t.type)e.type="datetime",e.parts=t.parts.map(function(t){var e={};if("literal"===t.type)e.regex=t.value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");else if("Z"===t.component||"z"===t.component){var r;Array.isArray(t.integerFormat.groupingSeparators)||(r=t.integerFormat.groupingSeparators),e.regex="","z"===t.component&&(e.regex="GMT"),e.regex+="[-+][0-9]+",r&&(e.regex+=r.character+"[0-9]+"),e.parse=function(e){"z"===t.component&&(e=e.substring(3));var n=0,i=0;return r?(n=Number.parseInt(e.substring(0,e.indexOf(r.character))),i=Number.parseInt(e.substring(e.indexOf(r.character)+1))):e.length-1<=2?n=Number.parseInt(e):(n=Number.parseInt(e.substring(0,3)),i=Number.parseInt(e.substring(3))),60*n+i}}else if(t.integerFormat)t.integerFormat.n=t.n,e=C(t.integerFormat);else{e.regex="[a-zA-Z]+";var n={};if("M"===t.component||"x"===t.component)E.forEach(function(e,r){t.width&&t.width.max?n[e.substring(0,t.width.max)]=r+1:n[e]=r+1});else if("F"===t.component)_.forEach(function(e,r){r>0&&(t.width&&t.width.max?n[e.substring(0,t.width.max)]=r:n[e]=r)});else{if("P"!==t.component)throw{code:"D3133",value:t.component};n={am:0,AM:0,pm:1,PM:1}}e.parse=function(t){return n[t]}}return e.component=t.component,e});else{e.type="integer";var r,n=t.case===y.UPPER;switch(r=t.n&&t.n>0?0===t.optionalDigits?"{".concat(t.n,"}"):"{".concat(t.n-t.optionalDigits,",").concat(t.n,"}"):"+",t.primary){case v.LETTERS:e.regex=n?"[A-Z]+":"[a-z]+",e.parse=function(t){return p(t,n?"A":"a")};break;case v.ROMAN:e.regex=n?"[MDCLXVI]+":"[mdclxvi]+",e.parse=function(t){return f(n?t:t.toUpperCase())};break;case v.WORDS:e.regex="(?:"+Object.keys(s).concat("and","[\\-, ]").join("|")+")+",e.parse=function(t){return c(t.toLowerCase())};break;case v.DECIMAL:e.regex="[0-9]".concat(r),t.ordinal&&(e.regex+="(?:th|st|nd|rd)"),e.parse=function(e){var r=e;return t.ordinal&&(r=e.substring(0,e.length-2)),t.regular?r=r.split(",").join(""):t.groupingSeparators.forEach(function(t){r=r.split(t.character).join("")}),48!==t.zeroCode&&(r=r.split("").map(function(e){return String.fromCodePoint(e.codePointAt(0)-t.zeroCode+48)}).join("")),parseInt(r)};break;case v.SEQUENCE:throw{code:"D3130",value:t.token}}}return e}function R(t,e){if(void 0!==t)return C(x(e)).parse(t)}function D(t,e){var r=C(A(e)),n="^"+r.parts.map(function(t){return"("+t.regex+")"}).join("")+"$",i=new RegExp(n,"i").exec(t);if(null!==i){for(var o=161,a=130,s=84,c=72,l=23,u=47,h={},f=1;f<i.length;f++){var d=r.parts[f-1];d.parse&&(h[d.component]=d.parse(i[f]))}if(0===Object.getOwnPropertyNames(h).length)return;var p=0,g=function(t){p<<=1,p+=t?1:0},v=function(t){return!(~t&p||!(t&p))};"YXMxWwdD".split("").forEach(function(t){return g(h[t])});var y=!v(o)&&v(a),m=v(s),b=!m&&v(c);p=0,"PHhmsf".split("").forEach(function(t){return g(h[t])});var x=!v(l)&&v(u),w=(y?"YD":m?"XxwF":b?"XWF":"YMD")+(x?"Phmsf":"Hmsf"),_=this.environment.timestamp,E=!1,S=!1;if(w.split("").forEach(function(t){if(void 0===h[t])E?(h[t]=-1!=="MDd".indexOf(t)?1:0,S=!0):h[t]=T(_,t);else if(E=!0,S)throw{code:"D3136"}}),h.M>0?h.M-=1:h.M=0,y){var k=Date.UTC(h.Y,0),M=1e3*(h.d-1)*60*60*24,O=new Date(k+M);h.M=O.getUTCMonth(),h.D=O.getUTCDate()}if(m)throw{code:"D3136"};if(b)throw{code:"D3136"};x&&(h.H=12===h.h?0:h.h,1===h.P&&(h.H+=12));var P=Date.UTC(h.Y,h.M,h.D,h.H,h.m,h.s,h.f);return(h.Z||h.z)&&(P-=60*(h.Z||h.z)*1e3),P}}var L=new RegExp("^\\d{4}(-[01]\\d)*(-[0-3]\\d)*(T[0-2]\\d:[0-5]\\d:[0-5]\\d)*(\\.\\d+)?([+-][0-2]\\d:?[0-5]\\d|Z)?$");function j(t,e){if(void 0!==t){if(void 0===e){if(!L.test(t))throw{stack:(new Error).stack,code:"D3110",value:t};return Date.parse(t)}return D.call(this,t,e)}}function N(t,e,r){if(void 0!==t)return I.call(this,t,e,r)}return{formatInteger:g,parseInteger:R,fromMillis:N,toMillis:j}}();e.exports=i},{"./utils":6}],2:[function(t,r,n){(function(e){(function(){function n(t){return n="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},n(t)}function i(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */i=function(){return e};var t,e={},r=Object.prototype,o=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},s="function"==typeof Symbol?Symbol:{},c=s.iterator||"@@iterator",l=s.asyncIterator||"@@asyncIterator",u=s.toStringTag||"@@toStringTag";function h(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var i=e&&e.prototype instanceof b?e:b,o=Object.create(i.prototype),s=new C(n||[]);return a(o,"_invoke",{value:O(t,r,s)}),o}function d(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var p="suspendedStart",g="suspendedYield",v="executing",y="completed",m={};function b(){}function x(){}function w(){}var A={};h(A,c,function(){return this});var _=Object.getPrototypeOf,E=_&&_(_(R([])));E&&E!==r&&o.call(E,c)&&(A=E);var S=w.prototype=b.prototype=Object.create(A);function k(t){["next","throw","return"].forEach(function(e){h(t,e,function(t){return this._invoke(e,t)})})}function M(t,e){function r(i,a,s,c){var l=d(t[i],t,a);if("throw"!==l.type){var u=l.arg,h=u.value;return h&&"object"==n(h)&&o.call(h,"__await")?e.resolve(h.__await).then(function(t){r("next",t,s,c)},function(t){r("throw",t,s,c)}):e.resolve(h).then(function(t){u.value=t,s(u)},function(t){return r("throw",t,s,c)})}c(l.arg)}var i;a(this,"_invoke",{value:function(t,n){function o(){return new e(function(e,i){r(t,n,e,i)})}return i=i?i.then(o,o):o()}})}function O(e,r,n){var i=p;return function(o,a){if(i===v)throw new Error("Generator is already running");if(i===y){if("throw"===o)throw a;return{value:t,done:!0}}for(n.method=o,n.arg=a;;){var s=n.delegate;if(s){var c=T(s,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===p)throw i=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=v;var l=d(e,r,n);if("normal"===l.type){if(i=n.done?y:g,l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(i=y,n.method="throw",n.arg=l.arg)}}}function T(e,r){var n=r.method,i=e.iterator[n];if(i===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,T(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var o=d(i,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,m;var a=o.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,m):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function R(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,a=function r(){for(;++i<e.length;)if(o.call(e,i))return r.value=e[i],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(n(e)+" is not iterable")}return x.prototype=w,a(S,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:x,configurable:!0}),x.displayName=h(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,h(t,u,"GeneratorFunction")),t.prototype=Object.create(S),t},e.awrap=function(t){return{__await:t}},k(M.prototype),h(M.prototype,l,function(){return this}),e.AsyncIterator=M,e.async=function(t,r,n,i,o){void 0===o&&(o=Promise);var a=new M(f(t,r,n,i),o);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next()})},k(S),h(S,u,"Generator"),h(S,c,function(){return this}),h(S,"toString",function(){return"[object Generator]"}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=R,C.prototype={constructor:C,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(I),!e)for(var r in this)"t"===r.charAt(0)&&o.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,i){return s.type="throw",s.arg=e,r.next=n,i&&(r.method="next",r.arg=t),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=o.call(a,"catchLoc"),l=o.call(a,"finallyLoc");if(c&&l){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),I(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;I(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:R(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),m}},e}var o=t("./utils"),a=function(){var t=i().mark(B),r=i().mark($),a=i().mark(Y),s=i().mark(G),c=i().mark(Q),l=i().mark(ft),u=i().mark(dt),h=i().mark(pt),f=i().mark(vt),d=i().mark(Et),p=i().mark(Ot),g=i().mark(It),v=o.isNumeric,y=o.isArrayOfStrings,m=o.isArrayOfNumbers,b=o.createSequence,x=o.isSequence,w=o.isFunction,A=o.isLambda,_=o.isIterable,E=o.getFunctionArity,S=o.isDeepEqual,k=o.stringToArray;function M(t){if(void 0!==t){var e=0;return t.forEach(function(t){e+=t}),e}}function O(t){return void 0===t?0:t.length}function T(t){if(void 0!==t&&0!==t.length)return Math.max.apply(Math,t)}function P(t){if(void 0!==t&&0!==t.length)return Math.min.apply(Math,t)}function I(t){if(void 0!==t&&0!==t.length){var e=0;return t.forEach(function(t){e+=t}),e/t.length}}function C(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(void 0!==t){var r;if("string"==typeof t)r=t;else if(w(t))r="";else{if("number"==typeof t&&!isFinite(t))throw{code:"D3001",value:t,stack:(new Error).stack};var n=e?2:0;Array.isArray(t)&&t.outerWrapper&&(t=t[0]),r=JSON.stringify(t,function(t,e){return null!=e&&e.toPrecision&&v(e)?Number(e.toPrecision(15)):e&&w(e)?"":e},n)}return r}}function R(t,e,r){if(void 0!==t){var n=k(t),i=n.length;if(i+e<0&&(e=0),void 0!==r){if(r<=0)return"";var o=e>=0?e+r:i+e+r;return n.slice(e,o).join("")}return n.slice(e).join("")}}function D(t,e){if(void 0!==t){var r=t.indexOf(e);return r>-1?t.substr(0,r):t}}function L(t,e){if(void 0!==t){var r=t.indexOf(e);return r>-1?t.substr(r+e.length):t}}function j(t){if(void 0!==t)return t.toLowerCase()}function N(t){if(void 0!==t)return t.toUpperCase()}function F(t){if(void 0!==t)return k(t).length}function z(t){if(void 0!==t){var e=t.replace(/[ \t\n\r]+/gm," ");return" "===e.charAt(0)&&(e=e.substring(1))," "===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e}}function U(t,e,r){if(void 0!==t){var n;void 0!==r&&0!==r.length||(r=" ");var i=Math.abs(e)-F(t);if(i>0){var o=new Array(i+1).join(r);r.length>1&&(o=R(o,0,i)),n=e>0?t+o:o+t}else n=t;return n}}function B(e,r){var n;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.apply(this,[r]),!_(n)){t.next=4;break}return t.delegateYield(n,"t0",3);case 3:n=t.t0;case 4:if(!n||"number"==typeof n.start||"number"===n.end||Array.isArray(n.groups)||w(n.next)){t.next=6;break}throw{code:"T1010",stack:(new Error).stack};case 6:return t.abrupt("return",n);case 7:case"end":return t.stop()}},t,this)}function $(t,e){var n,o;return i().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if(void 0!==t){r.next=2;break}return r.abrupt("return",void 0);case 2:if("string"!=typeof e){r.next=6;break}n=-1!==t.indexOf(e),r.next=9;break;case 6:return r.delegateYield(B(e,t),"t0",7);case 7:o=r.t0,n=void 0!==o;case 9:return r.abrupt("return",n);case 10:case"end":return r.stop()}},r)}function Y(t,e,r){var n,o,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!(r<0)){i.next=4;break}throw{stack:(new Error).stack,value:r,code:"D3040",index:3};case 4:if(n=b(),!(void 0===r||r>0)){i.next=17;break}return o=0,i.delegateYield(B(e,t),"t0",8);case 8:if(void 0===(s=i.t0)){i.next=17;break}case 10:if(void 0===s||!(void 0===r||o<r)){i.next=17;break}return n.push({match:s.match,index:s.start,groups:s.groups}),i.delegateYield(B(s.next),"t1",13);case 13:s=i.t1,o++,i.next=10;break;case 17:return i.abrupt("return",n);case 18:case"end":return i.stop()}},a)}function G(t,e,r,n){var o,a,c,l,u,h,f,d;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(o=this,""!==e){i.next=5;break}throw{code:"D3010",stack:(new Error).stack,value:e,index:2};case 5:if(!(n<0)){i.next=7;break}throw{code:"D3011",stack:(new Error).stack,value:n,index:4};case 7:if(a="string"==typeof r?function(t){for(var e="",n=0,i=r.indexOf("$",n);-1!==i&&n<r.length;){e+=r.substring(n,i),n=i+1;var o=r.charAt(n);if("$"===o)e+="$",n++;else if("0"===o)e+=t.match,n++;else{var a;if(a=0===t.groups.length?1:Math.floor(Math.log(t.groups.length)*Math.LOG10E)+1,i=parseInt(r.substring(n,n+a),10),a>1&&i>t.groups.length&&(i=parseInt(r.substring(n,n+a-1),10)),isNaN(i))e+="$";else{if(t.groups.length>0){var s=t.groups[i-1];void 0!==s&&(e+=s)}n+=i.toString().length}}i=r.indexOf("$",n)}return e+=r.substring(n)}:r,c="",l=0,!(void 0===n||n>0)){i.next=44;break}if(u=0,"string"!=typeof e){i.next=18;break}for(h=t.indexOf(e,l);-1!==h&&(void 0===n||u<n);)c+=t.substring(l,h),c+=r,l=h+e.length,u++,h=t.indexOf(e,l);c+=t.substring(l),i.next=42;break;case 18:return i.delegateYield(B(e,t),"t0",19);case 19:if(void 0===(f=i.t0)){i.next=41;break}case 21:if(void 0===f||!(void 0===n||u<n)){i.next=38;break}if(c+=t.substring(l,f.start),d=a.apply(o,[f]),!_(d)){i.next=27;break}return i.delegateYield(d,"t1",26);case 26:d=i.t1;case 27:if("string"!=typeof d){i.next=31;break}c+=d,i.next=32;break;case 31:throw{code:"D3012",stack:(new Error).stack,value:d};case 32:return l=f.start+f.match.length,u++,i.delegateYield(B(f.next),"t2",35);case 35:f=i.t2,i.next=21;break;case 38:c+=t.substring(l),i.next=42;break;case 41:c=t;case 42:i.next=45;break;case 44:c=t;case 45:return i.abrupt("return",c);case 46:case"end":return i.stop()}},s,this)}function H(t){if(void 0!==t){var r="undefined"!=typeof window?window.btoa:function(t){return new e.Buffer.from(t,"binary").toString("base64")};return r(t)}}function W(t){if(void 0!==t){var r="undefined"!=typeof window?window.atob:function(t){return new e.Buffer.from(t,"base64").toString("binary")};return r(t)}}function q(t){if(void 0!==t){var e;try{e=encodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrlComponent"}}return e}}function V(t){if(void 0!==t){var e;try{e=encodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrl"}}return e}}function X(t){if(void 0!==t){var e;try{e=decodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrlComponent"}}return e}}function K(t){if(void 0!==t){var e;try{e=decodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrl"}}return e}}function Q(t,e,r){var n,o,a,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!(r<0)){i.next=4;break}throw{code:"D3020",stack:(new Error).stack,value:r,index:3};case 4:if(n=[],!(void 0===r||r>0)){i.next=27;break}if("string"!=typeof e){i.next=10;break}n=t.split(e,r),i.next=27;break;case 10:return o=0,i.delegateYield(B(e,t),"t0",12);case 12:if(void 0===(a=i.t0)){i.next=26;break}s=0;case 15:if(void 0===a||!(void 0===r||o<r)){i.next=23;break}return n.push(t.substring(s,a.start)),s=a.end,i.delegateYield(B(a.next),"t1",19);case 19:a=i.t1,o++,i.next=15;break;case 23:(void 0===r||o<r)&&n.push(t.substring(s)),i.next=27;break;case 26:n.push(t);case 27:return i.abrupt("return",n);case 28:case"end":return i.stop()}},c)}function J(t,e){if(void 0!==t)return void 0===e&&(e=""),t.join(e)}function Z(t,e,r){if(void 0!==t){var n={"decimal-separator":".","grouping-separator":",","exponent-separator":"e",infinity:"Infinity","minus-sign":"-",NaN:"NaN",percent:"%","per-mille":"‰","zero-digit":"0",digit:"#","pattern-separator":";"};void 0!==r&&Object.keys(r).forEach(function(t){n[t]=r[t]});for(var i=[],o=n["zero-digit"].charCodeAt(0),a=o;a<o+10;a++)i.push(String.fromCharCode(a));var s=i.concat([n["decimal-separator"],n["exponent-separator"],n["grouping-separator"],n.digit,n["pattern-separator"]]),c=e.split(n["pattern-separator"]);if(c.length>2)throw{code:"D3080",stack:(new Error).stack};var l=function(t){var e,r,i,o,a=function(){for(var e,r=0;r<t.length;r++)if(e=t.charAt(r),-1!==s.indexOf(e)&&e!==n["exponent-separator"])return t.substring(0,r)}(),c=function(){for(var e,r=t.length-1;r>=0;r--)if(e=t.charAt(r),-1!==s.indexOf(e)&&e!==n["exponent-separator"])return t.substring(r+1)}(),l=t.substring(a.length,t.length-c.length),u=t.indexOf(n["exponent-separator"],a.length);-1===u||u>t.length-c.length?(e=l,r=void 0):(e=l.substring(0,u),r=l.substring(u+1));var h=e.indexOf(n["decimal-separator"]);return-1===h?(i=e,o=c):(i=e.substring(0,h),o=e.substring(h+1)),{prefix:a,suffix:c,activePart:l,mantissaPart:e,exponentPart:r,integerPart:i,fractionalPart:o,subpicture:t}},u=function(t){var e,r,o=t.subpicture,a=o.indexOf(n["decimal-separator"]);a!==o.lastIndexOf(n["decimal-separator"])&&(e="D3081"),o.indexOf(n.percent)!==o.lastIndexOf(n.percent)&&(e="D3082"),o.indexOf(n["per-mille"])!==o.lastIndexOf(n["per-mille"])&&(e="D3083"),-1!==o.indexOf(n.percent)&&-1!==o.indexOf(n["per-mille"])&&(e="D3084");var c=!1;for(r=0;r<t.mantissaPart.length;r++){var l=t.mantissaPart.charAt(r);if(-1!==i.indexOf(l)||l===n.digit){c=!0;break}}c||(e="D3085"),-1!==t.activePart.split("").map(function(t){return-1===s.indexOf(t)?"p":"a"}).join("").indexOf("p")&&(e="D3086"),-1!==a?o.charAt(a-1)!==n["grouping-separator"]&&o.charAt(a+1)!==n["grouping-separator"]||(e="D3087"):t.integerPart.charAt(t.integerPart.length-1)===n["grouping-separator"]&&(e="D3088"),-1!==o.indexOf(n["grouping-separator"]+n["grouping-separator"])&&(e="D3089");var u=t.integerPart.indexOf(n.digit);-1!==u&&t.integerPart.substring(0,u).split("").filter(function(t){return i.indexOf(t)>-1}).length>0&&(e="D3090"),-1!==(u=t.fractionalPart.lastIndexOf(n.digit))&&t.fractionalPart.substring(u).split("").filter(function(t){return i.indexOf(t)>-1}).length>0&&(e="D3091");var h="string"==typeof t.exponentPart;if(h&&t.exponentPart.length>0&&(-1!==o.indexOf(n.percent)||-1!==o.indexOf(n["per-mille"]))&&(e="D3092"),h&&(0===t.exponentPart.length||t.exponentPart.split("").filter(function(t){return-1===i.indexOf(t)}).length>0)&&(e="D3093"),e)throw{code:e,stack:(new Error).stack}},h=function(t){var e=function(e,r){for(var o=[],a=e.indexOf(n["grouping-separator"]);-1!==a;){var s=(r?e.substring(0,a):e.substring(a)).split("").filter(function(t){return-1!==i.indexOf(t)||t===n.digit}).length;o.push(s),a=t.integerPart.indexOf(n["grouping-separator"],a+1)}return o},r=e(t.integerPart),o=function(t){if(0===t.length)return 0;for(var e=function t(e,r){return 0===r?e:t(r,e%r)},r=t.reduce(e),n=1;n<=t.length;n++)if(-1===t.indexOf(n*r))return 0;return r},a=o(r),s=e(t.fractionalPart,!0),c=t.integerPart.split("").filter(function(t){return-1!==i.indexOf(t)}).length,l=c,u=t.fractionalPart.split(""),h=u.filter(function(t){return-1!==i.indexOf(t)}).length,f=u.filter(function(t){return-1!==i.indexOf(t)||t===n.digit}).length,d="string"==typeof t.exponentPart;0===c&&0===f&&(d?(h=1,f=1):c=1),d&&0===c&&-1!==t.integerPart.indexOf(n.digit)&&(c=1),0===c&&0===h&&(h=1);var p=0;return d&&(p=t.exponentPart.split("").filter(function(t){return-1!==i.indexOf(t)}).length),{integerPartGroupingPositions:r,regularGrouping:a,minimumIntegerPartSize:c,scalingFactor:l,prefix:t.prefix,fractionalPartGroupingPositions:s,minimumFactionalPartSize:h,maximumFactionalPartSize:f,minimumExponentSize:p,suffix:t.suffix,picture:t.subpicture}},f=c.map(l);f.forEach(u);var d,p,g,v,y=f.map(h),m=n["minus-sign"],b=n["zero-digit"],x=n["decimal-separator"],w=n["grouping-separator"];if(1===y.length&&(y.push(JSON.parse(JSON.stringify(y[0]))),y[1].prefix=m+y[1].prefix),p=-1!==(d=t>=0?y[0]:y[1]).picture.indexOf(n.percent)?100*t:-1!==d.picture.indexOf(n["per-mille"])?1e3*t:t,0===d.minimumExponentSize)g=p;else{var A=Math.pow(10,d.scalingFactor),_=Math.pow(10,d.scalingFactor-1);for(g=p,v=0;g<_;)g*=10,v-=1;for(;g>A;)g/=10,v+=1}var E=function(t,e){var r=Math.abs(t).toFixed(e);return"0"!==b&&(r=r.split("").map(function(t){return t>="0"&&t<="9"?i[t.charCodeAt(0)-48]:t}).join("")),r},S=E(ot(g,d.maximumFactionalPartSize),d.maximumFactionalPartSize),k=S.indexOf(".");for(-1===k?S+=x:S=S.replace(".",x);S.charAt(0)===b;)S=S.substring(1);for(;S.charAt(S.length-1)===b;)S=S.substring(0,S.length-1);k=S.indexOf(x);var M=d.minimumIntegerPartSize-k,O=d.minimumFactionalPartSize-(S.length-k-1);if(S=(M>0?new Array(M+1).join(b):"")+S,S+=O>0?new Array(O+1).join(b):"",k=S.indexOf(x),d.regularGrouping>0)for(var T=Math.floor((k-1)/d.regularGrouping),P=1;P<=T;P++)S=[S.slice(0,k-P*d.regularGrouping),w,S.slice(k-P*d.regularGrouping)].join("");else d.integerPartGroupingPositions.forEach(function(t){S=[S.slice(0,k-t),w,S.slice(k-t)].join(""),k++});if(k=S.indexOf(x),d.fractionalPartGroupingPositions.forEach(function(t){S=[S.slice(0,t+k+1),w,S.slice(t+k+1)].join("")}),k=S.indexOf(x),-1!==d.picture.indexOf(x)&&k!==S.length-1||(S=S.substring(0,S.length-1)),void 0!==v){var I=E(v,0);(M=d.minimumExponentSize-I.length)>0&&(I=new Array(M+1).join(b)+I),S=S+n["exponent-separator"]+(v<0?m:"")+I}return S=d.prefix+S+d.suffix}}function tt(t,e){if(void 0!==t){if(t=ot(t),(e=void 0===e?10:ot(e))<2||e>36)throw{code:"D3100",stack:(new Error).stack,value:e};return t.toString(e)}}function et(t){var e;if(void 0!==t){if("number"==typeof t)e=t;else if("string"==typeof t&&/^-?[0-9]+(\.[0-9]+)?([Ee][-+]?[0-9]+)?$/.test(t)&&!isNaN(parseFloat(t))&&isFinite(t))e=parseFloat(t);else if(!0===t)e=1;else{if(!1!==t)throw{code:"D3030",value:t,stack:(new Error).stack,index:1};e=0}return e}}function rt(t){if(void 0!==t)return Math.abs(t)}function nt(t){if(void 0!==t)return Math.floor(t)}function it(t){if(void 0!==t)return Math.ceil(t)}function ot(t,e){var r;if(void 0!==t){if(e){var n=t.toString().split("e");t=+(n[0]+"e"+(n[1]?+n[1]+e:e))}var i=(r=Math.round(t))-t;return.5===Math.abs(i)&&1===Math.abs(r%2)&&(r-=1),e&&(n=r.toString().split("e"),r=+(n[0]+"e"+(n[1]?+n[1]-e:-e))),Object.is(r,-0)&&(r=0),r}}function at(t){if(void 0!==t){if(t<0)throw{stack:(new Error).stack,code:"D3060",index:1,value:t};return Math.sqrt(t)}}function st(t,e){var r;if(void 0!==t){if(r=Math.pow(t,e),!isFinite(r))throw{stack:(new Error).stack,code:"D3061",index:1,value:t,exp:e};return r}}function ct(){return Math.random()}function lt(t){if(void 0!==t){var e=!1;return Array.isArray(t)?1===t.length?e=lt(t[0]):t.length>1&&(e=t.filter(function(t){return lt(t)}).length>0):"string"==typeof t?t.length>0&&(e=!0):v(t)?0!==t&&(e=!0):null!==t&&"object"===n(t)?Object.keys(t).length>0&&(e=!0):"boolean"==typeof t&&!0===t&&(e=!0),e}}function ut(t){if(void 0!==t)return!lt(t)}function ht(t,e,r,n){var i=[e],o=E(t);return o>=2&&i.push(r),o>=3&&i.push(n),i}function ft(t,e){var r,n,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:r=b(),n=0;case 4:if(!(n<t.length)){i.next=12;break}return o=ht(e,t[n],n,t),i.delegateYield(e.apply(this,o),"t0",7);case 7:void 0!==(a=i.t0)&&r.push(a);case 9:n++,i.next=4;break;case 12:return i.abrupt("return",r);case 13:case"end":return i.stop()}},l,this)}function dt(t,e){var r,n,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:r=b(),n=0;case 4:if(!(n<t.length)){i.next=13;break}return o=t[n],a=ht(e,o,n,t),i.delegateYield(e.apply(this,a),"t0",8);case 8:lt(i.t0)&&r.push(o);case 10:n++,i.next=4;break;case 13:return i.abrupt("return",r);case 14:case"end":return i.stop()}},u,this)}function pt(t,e){var r,n,o,a,s,c,l;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:r=!1,o=0;case 4:if(!(o<t.length)){i.next=22;break}if(a=t[o],s=!0,void 0===e){i.next=12;break}return c=ht(e,a,o,t),i.delegateYield(e.apply(this,c),"t0",10);case 10:l=i.t0,s=lt(l);case 12:if(!s){i.next=19;break}if(r){i.next=18;break}n=a,r=!0,i.next=19;break;case 18:throw{stack:(new Error).stack,code:"D3138",index:o};case 19:o++,i.next=4;break;case 22:if(r){i.next=24;break}throw{stack:(new Error).stack,code:"D3139"};case 24:return i.abrupt("return",n);case 25:case"end":return i.stop()}},h,this)}function gt(){for(var t=[],e=Array.prototype.slice.call(arguments),r=Math.min.apply(Math,e.map(function(t){return Array.isArray(t)?t.length:0})),n=0;n<r;n++){var i=e.map(function(t){return t[n]});t.push(i)}return t}function vt(t,e,r){var n,o,a,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!((o=E(e))<2)){i.next=5;break}throw{stack:(new Error).stack,code:"D3050",index:1};case 5:void 0===r&&t.length>0?(n=t[0],a=1):(n=r,a=0);case 6:if(!(a<t.length)){i.next=15;break}return s=[n,t[a]],o>=3&&s.push(a),o>=4&&s.push(t),i.delegateYield(e.apply(this,s),"t0",11);case 11:n=i.t0,a++,i.next=6;break;case 15:return i.abrupt("return",n);case 16:case"end":return i.stop()}},f,this)}function yt(t){var e=b();if(Array.isArray(t)){var r={};t.forEach(function(t){yt(t).forEach(function(t){r[t]=!0})}),e=yt(r)}else null===t||"object"!==n(t)||A(t)||Object.keys(t).forEach(function(t){return e.push(t)});return e}function mt(t,e){var r;if(Array.isArray(t)){r=b();for(var i=0;i<t.length;i++){var o=mt(t[i],e);void 0!==o&&(Array.isArray(o)?o.forEach(function(t){return r.push(t)}):r.push(o))}}else null!==t&&"object"===n(t)&&(r=t[e]);return r}function bt(t,e){return void 0===t?e:void 0===e?t:(Array.isArray(t)||(t=b(t)),Array.isArray(e)||(e=[e]),t.concat(e))}function xt(t){return void 0!==t}function wt(t){var e=b();if(Array.isArray(t))t.forEach(function(t){e=bt(e,wt(t))});else if(null===t||"object"!==n(t)||A(t))e=t;else for(var r in t){var i={};i[r]=t[r],e.push(i)}return e}function At(t){if(void 0!==t){var e={};return t.forEach(function(t){for(var r in t)e[r]=t[r]}),e}}function _t(t){if(void 0!==t){if(t.length<=1)return t;for(var e=t.length,r=new Array(e),n=0;n<e;n++)r[e-n-1]=t[n];return r}}function Et(t,e){var r,n,o,a;return i().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:r=b(),s.t0=i().keys(t);case 2:if((s.t1=s.t0()).done){s.next=10;break}return n=s.t1.value,o=ht(e,t[n],n,t),s.delegateYield(e.apply(this,o),"t2",6);case 6:void 0!==(a=s.t2)&&r.push(a),s.next=2;break;case 10:return s.abrupt("return",r);case 11:case"end":return s.stop()}},d,this)}function St(t){throw{code:"D3137",stack:(new Error).stack,message:t||"$error() function evaluated"}}function kt(t,e){if(!t)throw{code:"D3141",stack:(new Error).stack,message:e||"$assert() statement failed"}}function Mt(t){if(void 0!==t)return null===t?"null":v(t)?"number":"string"==typeof t?"string":"boolean"==typeof t?"boolean":Array.isArray(t)?"array":w(t)?"function":"object"}function Ot(t,e){var r,n,o,a;return i().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(void 0!==t){s.next=2;break}return s.abrupt("return",void 0);case 2:if(!(t.length<=1)){s.next=4;break}return s.abrupt("return",t);case 4:if(void 0!==e){s.next=10;break}if(m(t)||y(t)){s.next=7;break}throw{stack:(new Error).stack,code:"D3070",index:1};case 7:r=i().mark(function t(e,r){return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e>r);case 1:case"end":return t.stop()}},t)}),s.next=11;break;case 10:r=e;case 11:return n=i().mark(function t(e,n){var o,a;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return o=i().mark(function t(e,n,o){return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(0!==n.length){i.next=4;break}Array.prototype.push.apply(e,o),i.next=16;break;case 4:if(0!==o.length){i.next=8;break}Array.prototype.push.apply(e,n),i.next=16;break;case 8:return i.delegateYield(r(n[0],o[0]),"t0",9);case 9:if(!i.t0){i.next=14;break}return e.push(o[0]),i.delegateYield(t(e,n,o.slice(1)),"t1",12);case 12:i.next=16;break;case 14:return e.push(n[0]),i.delegateYield(t(e,n.slice(1),o),"t2",16);case 16:case"end":return i.stop()}},t)}),a=[],t.delegateYield(o(a,e,n),"t0",3);case 3:return t.abrupt("return",a);case 4:case"end":return t.stop()}},t)}),o=i().mark(function t(e){var r,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(Array.isArray(e)&&!(e.length<=1)){i.next=4;break}return i.abrupt("return",e);case 4:return r=Math.floor(e.length/2),o=e.slice(0,r),a=e.slice(r),i.delegateYield(t(o),"t0",8);case 8:return o=i.t0,i.delegateYield(t(a),"t1",10);case 10:return a=i.t1,i.delegateYield(n(o,a),"t2",12);case 12:return i.abrupt("return",i.t2);case 13:case"end":return i.stop()}},t)}),s.delegateYield(o(t),"t0",14);case 14:return a=s.t0,s.abrupt("return",a);case 16:case"end":return s.stop()}},p)}function Tt(t){if(void 0!==t){if(t.length<=1)return t;for(var e=new Array(t.length),r=0;r<t.length;r++){var n=Math.floor(Math.random()*(r+1));r!==n&&(e[r]=e[n]),e[n]=t[r]}return e}}function Pt(t){if(void 0!==t){if(!Array.isArray(t)||t.length<=1)return t;for(var e=x(t)?b():[],r=0;r<t.length;r++){for(var n=t[r],i=!1,o=0;o<e.length;o++)if(S(n,e[o])){i=!0;break}i||e.push(n)}return e}}function It(t,e){var r,n,o,a;return i().wrap(function(s){for(;;)switch(s.prev=s.next){case 0:r={},s.t0=i().keys(t);case 2:if((s.t1=s.t0()).done){s.next=11;break}return n=s.t1.value,o=t[n],a=ht(e,o,n,t),s.delegateYield(e.apply(this,a),"t2",7);case 7:lt(s.t2)&&(r[n]=o),s.next=2;break;case 11:return 0===Object.keys(r).length&&(r=void 0),s.abrupt("return",r);case 13:case"end":return s.stop()}},g,this)}return{sum:M,count:O,max:T,min:P,average:I,string:C,substring:R,substringBefore:D,substringAfter:L,lowercase:j,uppercase:N,length:F,trim:z,pad:U,match:Y,contains:$,replace:G,split:Q,join:J,formatNumber:Z,formatBase:tt,number:et,floor:nt,ceil:it,round:ot,abs:rt,sqrt:at,power:st,random:ct,boolean:lt,not:ut,map:ft,zip:gt,filter:dt,single:pt,foldLeft:vt,sift:It,keys:yt,lookup:mt,append:bt,exists:xt,spread:wt,merge:At,reverse:_t,each:Et,error:St,assert:kt,type:Mt,sort:Ot,shuffle:Tt,distinct:Pt,base64encode:H,base64decode:W,encodeUrlComponent:q,encodeUrl:V,decodeUrlComponent:X,decodeUrl:K}}();r.exports=a}).call(this)}).call(this,void 0!==e?e:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils":6}],3:[function(t,e,r){function n(t){return n="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},n(t)}function i(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */i=function(){return e};var t,e={},r=Object.prototype,o=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},s="function"==typeof Symbol?Symbol:{},c=s.iterator||"@@iterator",l=s.asyncIterator||"@@asyncIterator",u=s.toStringTag||"@@toStringTag";function h(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var i=e&&e.prototype instanceof b?e:b,o=Object.create(i.prototype),s=new C(n||[]);return a(o,"_invoke",{value:O(t,r,s)}),o}function d(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var p="suspendedStart",g="suspendedYield",v="executing",y="completed",m={};function b(){}function x(){}function w(){}var A={};h(A,c,function(){return this});var _=Object.getPrototypeOf,E=_&&_(_(R([])));E&&E!==r&&o.call(E,c)&&(A=E);var S=w.prototype=b.prototype=Object.create(A);function k(t){["next","throw","return"].forEach(function(e){h(t,e,function(t){return this._invoke(e,t)})})}function M(t,e){function r(i,a,s,c){var l=d(t[i],t,a);if("throw"!==l.type){var u=l.arg,h=u.value;return h&&"object"==n(h)&&o.call(h,"__await")?e.resolve(h.__await).then(function(t){r("next",t,s,c)},function(t){r("throw",t,s,c)}):e.resolve(h).then(function(t){u.value=t,s(u)},function(t){return r("throw",t,s,c)})}c(l.arg)}var i;a(this,"_invoke",{value:function(t,n){function o(){return new e(function(e,i){r(t,n,e,i)})}return i=i?i.then(o,o):o()}})}function O(e,r,n){var i=p;return function(o,a){if(i===v)throw new Error("Generator is already running");if(i===y){if("throw"===o)throw a;return{value:t,done:!0}}for(n.method=o,n.arg=a;;){var s=n.delegate;if(s){var c=T(s,n);if(c){if(c===m)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===p)throw i=y,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=v;var l=d(e,r,n);if("normal"===l.type){if(i=n.done?y:g,l.arg===m)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(i=y,n.method="throw",n.arg=l.arg)}}}function T(e,r){var n=r.method,i=e.iterator[n];if(i===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,T(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),m;var o=d(i,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,m;var a=o.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,m):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,m)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function C(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function R(e){if(e||""===e){var r=e[c];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,a=function r(){for(;++i<e.length;)if(o.call(e,i))return r.value=e[i],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(n(e)+" is not iterable")}return x.prototype=w,a(S,"constructor",{value:w,configurable:!0}),a(w,"constructor",{value:x,configurable:!0}),x.displayName=h(w,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,w):(t.__proto__=w,h(t,u,"GeneratorFunction")),t.prototype=Object.create(S),t},e.awrap=function(t){return{__await:t}},k(M.prototype),h(M.prototype,l,function(){return this}),e.AsyncIterator=M,e.async=function(t,r,n,i,o){void 0===o&&(o=Promise);var a=new M(f(t,r,n,i),o);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next()})},k(S),h(S,u,"Generator"),h(S,c,function(){return this}),h(S,"toString",function(){return"[object Generator]"}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=R,C.prototype={constructor:C,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(I),!e)for(var r in this)"t"===r.charAt(0)&&o.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function n(n,i){return s.type="throw",s.arg=e,r.next=n,i&&(r.method="next",r.arg=t),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var c=o.call(a,"catchLoc"),l=o.call(a,"finallyLoc");if(c&&l){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,m):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),I(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;I(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:R(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),m}},e}var o=t("./datetime"),a=t("./functions"),s=t("./utils"),c=t("./parser"),l=t("./signature"),u=function(){var t=i().mark(U),e=i().mark(B),r=i().mark(Y),u=i().mark(G),h=i().mark(H),f=i().mark(W),d=i().mark(q),p=i().mark(V),g=i().mark(ot),v=i().mark(ct),y=i().mark(ht),m=i().mark(ft),b=i().mark(dt),x=i().mark(vt),w=i().mark(bt),A=i().mark(xt),_=i().mark(wt),E=i().mark(At),S=i().mark(Et),k=i().mark(kt),M=i().mark(Tt),O=i().mark(Ct),T=s.isNumeric,P=s.isArrayOfStrings,I=s.isArrayOfNumbers,C=s.createSequence,R=s.isSequence,D=s.isFunction,L=s.isLambda,j=s.isIterable,N=s.getFunctionArity,F=s.isDeepEqual,z=Dt(null);function U(e,r,n){var o,a,s,c;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:(a=n.lookup("__evaluate_entry"))&&a(e,r,n),t.t0=e.type,t.next="path"===t.t0?5:"binary"===t.t0?8:"unary"===t.t0?11:"name"===t.t0?14:"string"===t.t0||"number"===t.t0||"value"===t.t0?16:"wildcard"===t.t0?18:"descendant"===t.t0?20:"parent"===t.t0?22:"condition"===t.t0?24:"block"===t.t0?27:"bind"===t.t0?30:"regex"===t.t0?33:"function"===t.t0?35:"variable"===t.t0?38:"lambda"===t.t0?40:"partial"===t.t0?42:"apply"===t.t0?45:"transform"===t.t0?48:50;break;case 5:return t.delegateYield(B(e,r,n),"t1",6);case 6:return o=t.t1,t.abrupt("break",50);case 8:return t.delegateYield(q(e,r,n),"t2",9);case 9:return o=t.t2,t.abrupt("break",50);case 11:return t.delegateYield(V(e,r,n),"t3",12);case 12:return o=t.t3,t.abrupt("break",50);case 14:return o=X(e,r),t.abrupt("break",50);case 16:return o=K(e),t.abrupt("break",50);case 18:return o=Q(e,r),t.abrupt("break",50);case 20:return o=Z(e,r),t.abrupt("break",50);case 22:return o=n.lookup(e.slot.label),t.abrupt("break",50);case 24:return t.delegateYield(ft(e,r,n),"t4",25);case 25:return o=t.t4,t.abrupt("break",50);case 27:return t.delegateYield(dt(e,r,n),"t5",28);case 28:return o=t.t5,t.abrupt("break",50);case 30:return t.delegateYield(ht(e,r,n),"t6",31);case 31:return o=t.t6,t.abrupt("break",50);case 33:return o=pt(e),t.abrupt("break",50);case 35:return t.delegateYield(xt(e,r,n),"t7",36);case 36:return o=t.t7,t.abrupt("break",50);case 38:return o=gt(e,r,n),t.abrupt("break",50);case 40:return o=_t(e,r,n),t.abrupt("break",50);case 42:return t.delegateYield(Et(e,r,n),"t8",43);case 43:return o=t.t8,t.abrupt("break",50);case 45:return t.delegateYield(bt(e,r,n),"t9",46);case 46:return o=t.t9,t.abrupt("break",50);case 48:return o=yt(e,r,n),t.abrupt("break",50);case 50:if(!n.async||null!=o&&"function"==typeof o.then||(o=Promise.resolve(o)),!n.async||"function"!=typeof o.then||!e.nextFunction||"function"!=typeof o[e.nextFunction]){t.next=54;break}t.next=57;break;case 54:return t.next=56,o;case 56:o=t.sent;case 57:if(!Object.prototype.hasOwnProperty.call(e,"predicate")){t.next=65;break}s=0;case 59:if(!(s<e.predicate.length)){t.next=65;break}return t.delegateYield(W(e.predicate[s].expr,o,n),"t10",61);case 61:o=t.t10;case 62:s++,t.next=59;break;case 65:if("path"===e.type||!Object.prototype.hasOwnProperty.call(e,"group")){t.next=68;break}return t.delegateYield(ct(e.group,o,n),"t11",67);case 67:o=t.t11;case 68:return(c=n.lookup("__evaluate_exit"))&&c(e,r,n,o),o&&R(o)&&!o.tupleStream&&(e.keepArray&&(o.keepSingleton=!0),0===o.length?o=void 0:1===o.length&&(o=o.keepSingleton?o:o[0])),t.abrupt("return",o);case 72:case"end":return t.stop()}},t)}function B(t,r,n){var o,a,s,c,l,u;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:o=Array.isArray(r)&&"variable"!==t.steps[0].type?r:C(r),s=!1,c=void 0,l=0;case 4:if(!(l<t.steps.length)){e.next=25;break}if((u=t.steps[l]).tuple&&(s=!0),0!==l||!u.consarray){e.next=12;break}return e.delegateYield(U(u,o,n),"t0",9);case 9:a=e.t0,e.next=19;break;case 12:if(!s){e.next=17;break}return e.delegateYield(H(u,o,c,n),"t1",14);case 14:c=e.t1,e.next=19;break;case 17:return e.delegateYield(Y(u,o,n,l===t.steps.length-1),"t2",18);case 18:a=e.t2;case 19:if(s||void 0!==a&&0!==a.length){e.next=21;break}return e.abrupt("break",25);case 21:void 0===u.focus&&(o=a);case 22:l++,e.next=4;break;case 25:if(s)if(t.tuple)a=c;else for(a=C(),l=0;l<c.length;l++)a.push(c[l]["@"]);if(t.keepSingletonArray&&(Array.isArray(a)&&a.cons&&!a.sequence&&(a=C(a)),a.keepSingleton=!0),!t.hasOwnProperty("group")){e.next=30;break}return e.delegateYield(ct(t.group,s?c:a,n),"t3",29);case 29:a=e.t3;case 30:return e.abrupt("return",a);case 31:case"end":return e.stop()}},e)}function $(t,e){var r=Dt(t);for(var n in e)r.bind(n,e[n]);return r}function Y(t,e,n,o){var a,s,c,l,u;return i().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:if("sort"!==t.type){r.next=7;break}return r.delegateYield(vt(t,e,n),"t0",2);case 2:if(a=r.t0,!t.stages){r.next=6;break}return r.delegateYield(G(t.stages,a,n),"t1",5);case 5:a=r.t1;case 6:return r.abrupt("return",a);case 7:a=C(),s=0;case 9:if(!(s<e.length)){r.next=24;break}return r.delegateYield(U(t,e[s],n),"t2",11);case 11:if(c=r.t2,!t.stages){r.next=20;break}l=0;case 14:if(!(l<t.stages.length)){r.next=20;break}return r.delegateYield(W(t.stages[l].expr,c,n),"t3",16);case 16:c=r.t3;case 17:l++,r.next=14;break;case 20:void 0!==c&&a.push(c);case 21:s++,r.next=9;break;case 24:return u=C(),o&&1===a.length&&Array.isArray(a[0])&&!R(a[0])?u=a[0]:a.forEach(function(t){!Array.isArray(t)||t.cons?u.push(t):t.forEach(function(t){return u.push(t)})}),r.abrupt("return",u);case 27:case"end":return r.stop()}},r)}function G(t,e,r){var n,o,a,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:n=e,o=0;case 2:if(!(o<t.length)){i.next=15;break}a=t[o],i.t0=a.type,i.next="filter"===i.t0?7:"index"===i.t0?10:12;break;case 7:return i.delegateYield(W(a.expr,n,r),"t1",8);case 8:return n=i.t1,i.abrupt("break",12);case 10:for(s=0;s<n.length;s++)n[s][a.value]=s;return i.abrupt("break",12);case 12:o++,i.next=2;break;case 15:return i.abrupt("return",n);case 16:case"end":return i.stop()}},u)}function H(t,e,r,n){var o,a,s,c,l,u,f,d;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if("sort"!==t.type){i.next=15;break}if(!r){i.next=6;break}return i.delegateYield(vt(t,r,n),"t0",3);case 3:o=i.t0,i.next=11;break;case 6:return i.delegateYield(vt(t,e,n),"t1",7);case 7:for(a=i.t1,(o=C()).tupleStream=!0,s=0;s<a.length;s++)(c={"@":a[s]})[t.index]=s,o.push(c);case 11:if(!t.stages){i.next=14;break}return i.delegateYield(G(t.stages,o,n),"t2",13);case 13:o=i.t2;case 14:return i.abrupt("return",o);case 15:(o=C()).tupleStream=!0,l=n,void 0===r&&(r=e.map(function(t){return{"@":t}})),u=0;case 20:if(!(u<r.length)){i.next=28;break}return l=$(n,r[u]),i.delegateYield(U(t,r[u]["@"],l),"t3",23);case 23:if(void 0!==(f=i.t3))for(Array.isArray(f)||(f=[f]),d=0;d<f.length;d++)c={},Object.assign(c,r[u]),f.tupleStream?Object.assign(c,f[d]):(t.focus?(c[t.focus]=f[d],c["@"]=r[u]["@"]):c["@"]=f[d],t.index&&(c[t.index]=d),t.ancestor&&(c[t.ancestor.label]=r[u]["@"])),o.push(c);case 25:u++,i.next=20;break;case 28:if(!t.stages){i.next=31;break}return i.delegateYield(G(t.stages,o,n),"t4",30);case 30:o=i.t4;case 31:return i.abrupt("return",o);case 32:case"end":return i.stop()}},h)}function W(t,e,r){var n,o,s,c,l,u;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(n=C(),e&&e.tupleStream&&(n.tupleStream=!0),Array.isArray(e)||(e=C(e)),"number"!==t.type){i.next=10;break}(o=Math.floor(t.value))<0&&(o=e.length+o),void 0!==(s=e[o])&&(Array.isArray(s)?n=s:n.push(s)),i.next=23;break;case 10:o=0;case 11:if(!(o<e.length)){i.next=23;break}return s=e[o],c=s,l=r,e.tupleStream&&(c=s["@"],l=$(r,s)),i.delegateYield(U(t,c,l),"t0",17);case 17:u=i.t0,T(u)&&(u=[u]),I(u)?u.forEach(function(t){var r=Math.floor(t);r<0&&(r=e.length+r),r===o&&n.push(s)}):a.boolean(u)&&n.push(s);case 20:o++,i.next=11;break;case 23:return i.abrupt("return",n);case 24:case"end":return i.stop()}},f)}function q(t,e,r){var n,o,a,s,c;return i().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return l.delegateYield(U(t.lhs,e,r),"t0",1);case 1:if(o=l.t0,a=t.value,s=i().mark(function n(){return i().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.delegateYield(U(t.rhs,e,r),"t0",1);case 1:return n.abrupt("return",n.t0);case 2:case"end":return n.stop()}},n)}),"and"!==a&&"or"!==a){l.next=15;break}return l.prev=5,l.delegateYield(ot(o,s,a),"t1",7);case 7:return l.abrupt("return",l.t1);case 10:throw l.prev=10,l.t2=l.catch(5),l.t2.position=t.position,l.t2.token=a,l.t2;case 15:return l.delegateYield(s(),"t3",16);case 16:c=l.t3,l.prev=17,l.t4=a,l.next="+"===l.t4||"-"===l.t4||"*"===l.t4||"/"===l.t4||"%"===l.t4?21:"="===l.t4||"!="===l.t4?23:"<"===l.t4||"<="===l.t4||">"===l.t4||">="===l.t4?25:"&"===l.t4?27:".."===l.t4?29:"in"===l.t4?31:33;break;case 21:return n=et(o,c,a),l.abrupt("break",33);case 23:return n=rt(o,c,a),l.abrupt("break",33);case 25:return n=nt(o,c,a),l.abrupt("break",33);case 27:return n=st(o,c),l.abrupt("break",33);case 29:return n=ut(o,c),l.abrupt("break",33);case 31:return n=it(o,c),l.abrupt("break",33);case 33:l.next=40;break;case 35:throw l.prev=35,l.t5=l.catch(17),l.t5.position=t.position,l.t5.token=a,l.t5;case 40:return l.abrupt("return",n);case 41:case"end":return l.stop()}},d,null,[[5,10],[17,35]])}function V(t,e,r){var n,o,s,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:i.t0=t.value,i.next="-"===i.t0?3:"["===i.t0?15:"{"===i.t0?27:30;break;case 3:return i.delegateYield(U(t.expression,e,r),"t1",4);case 4:if(void 0!==(n=i.t1)){i.next=9;break}n=void 0,i.next=14;break;case 9:if(!T(n)){i.next=13;break}n=-n,i.next=14;break;case 13:throw{code:"D1002",stack:(new Error).stack,position:t.position,token:t.value,value:n};case 14:return i.abrupt("break",30);case 15:n=[],o=0;case 17:if(!(o<t.expressions.length)){i.next=25;break}return s=t.expressions[o],i.delegateYield(U(s,e,r),"t2",20);case 20:void 0!==(c=i.t2)&&("["===s.value?n.push(c):n=a.append(n,c));case 22:o++,i.next=17;break;case 25:return t.consarray&&Object.defineProperty(n,"cons",{enumerable:!1,configurable:!1,value:!0}),i.abrupt("break",30);case 27:return i.delegateYield(ct(t,e,r),"t3",28);case 28:return n=i.t3,i.abrupt("break",30);case 30:return i.abrupt("return",n);case 31:case"end":return i.stop()}},p)}function X(t,e,r){return a.lookup(e,t.value)}function K(t){return t.value}function Q(t,e){var r=C();return Array.isArray(e)&&e.outerWrapper&&e.length>0&&(e=e[0]),null!==e&&"object"===n(e)&&Object.keys(e).forEach(function(t){var n=e[t];Array.isArray(n)?(n=J(n),r=a.append(r,n)):r.push(n)}),r}function J(t,e){return void 0===e&&(e=[]),Array.isArray(t)?t.forEach(function(t){J(t,e)}):e.push(t),e}function Z(t,e){var r,n=C();return void 0!==e&&(tt(e,n),r=1===n.length?n[0]:n),r}function tt(t,e){Array.isArray(t)||e.push(t),Array.isArray(t)?t.forEach(function(t){tt(t,e)}):null!==t&&"object"===n(t)&&Object.keys(t).forEach(function(r){tt(t[r],e)})}function et(t,e,r){var n;if(void 0!==t&&!T(t))throw{code:"T2001",stack:(new Error).stack,value:t};if(void 0!==e&&!T(e))throw{code:"T2002",stack:(new Error).stack,value:e};if(void 0===t||void 0===e)return n;switch(r){case"+":n=t+e;break;case"-":n=t-e;break;case"*":n=t*e;break;case"/":n=t/e;break;case"%":n=t%e}return n}function rt(t,e,r){var i,o=n(t),a=n(e);if("undefined"===o||"undefined"===a)return!1;switch(r){case"=":i=F(t,e);break;case"!=":i=!F(t,e)}return i}function nt(t,e,r){var i,o=n(t),a=n(e);if("undefined"!==o&&"string"!==o&&"number"!==o||"undefined"!==a&&"string"!==a&&"number"!==a)throw{code:"T2010",stack:(new Error).stack,value:"string"!==o&&"number"!==o?t:e};if("undefined"!==o&&"undefined"!==a){if(o!==a)throw{code:"T2009",stack:(new Error).stack,value:t,value2:e};switch(r){case"<":i=t<e;break;case"<=":i=t<=e;break;case">":i=t>e;break;case">=":i=t>=e}return i}}function it(t,e){var r=!1;if(void 0===t||void 0===e)return!1;Array.isArray(e)||(e=[e]);for(var n=0;n<e.length;n++)if(e[n]===t){r=!0;break}return r}function ot(t,e,r){var n,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:o=at(t),i.t0=r,i.next="and"===i.t0?4:"or"===i.t0?12:20;break;case 4:if(i.t1=o,!i.t1){i.next=10;break}return i.t2=at,i.delegateYield(e(),"t3",8);case 8:i.t4=i.t3,i.t1=(0,i.t2)(i.t4);case 10:return n=i.t1,i.abrupt("break",20);case 12:if(i.t5=o,i.t5){i.next=18;break}return i.t6=at,i.delegateYield(e(),"t7",16);case 16:i.t8=i.t7,i.t5=(0,i.t6)(i.t8);case 18:return n=i.t5,i.abrupt("break",20);case 20:return i.abrupt("return",n);case 21:case"end":return i.stop()}},g)}function at(t){var e=a.boolean(t);return void 0!==e&&e}function st(t,e){var r="",n="";return void 0!==t&&(r=a.string(t)),void 0!==e&&(n=a.string(e)),r.concat(n)}function ct(t,e,r){var n,o,s,c,l,u,h,f,d,p,g,y,m;return i().wrap(function(v){for(;;)switch(v.prev=v.next){case 0:n={},o={},s=!(!e||!e.tupleStream),Array.isArray(e)||(e=C(e)),0===e.length&&e.push(void 0),c=0;case 6:if(!(c<e.length)){v.next=31;break}l=e[c],u=s?$(r,l):r,h=0;case 10:if(!(h<t.lhs.length)){v.next=28;break}return f=t.lhs[h],v.delegateYield(U(f[0],s?l["@"]:l,u),"t0",13);case 13:if("string"==typeof(d=v.t0)||void 0===d){v.next=16;break}throw{code:"T1003",stack:(new Error).stack,position:t.position,value:d};case 16:if(void 0===d){v.next=25;break}if(p={data:l,exprIndex:h},!o.hasOwnProperty(d)){v.next=24;break}if(o[d].exprIndex===h){v.next=21;break}throw{code:"D1009",stack:(new Error).stack,position:t.position,value:d};case 21:o[d].data=a.append(o[d].data,l),v.next=25;break;case 24:o[d]=p;case 25:h++,v.next=10;break;case 28:c++,v.next=6;break;case 31:v.t1=i().keys(o);case 32:if((v.t2=v.t1()).done){v.next=43;break}return d=v.t2.value,p=o[d],g=p.data,u=r,s&&(y=lt(p.data),g=y["@"],delete y["@"],u=$(r,y)),v.delegateYield(U(t.lhs[p.exprIndex][1],g,u),"t3",39);case 39:void 0!==(m=v.t3)&&(n[d]=m),v.next=32;break;case 43:return v.abrupt("return",n);case 44:case"end":return v.stop()}},v)}function lt(t){if(!Array.isArray(t))return t;var e={};Object.assign(e,t[0]);for(var r=1;r<t.length;r++)for(var n in t[r])e[n]=a.append(e[n],t[r][n]);return e}function ut(t,e){var r;if(void 0!==t&&!Number.isInteger(t))throw{code:"T2003",stack:(new Error).stack,value:t};if(void 0!==e&&!Number.isInteger(e))throw{code:"T2004",stack:(new Error).stack,value:e};if(void 0===t||void 0===e)return r;if(t>e)return r;var n=e-t+1;if(n>1e7)throw{code:"D2014",stack:(new Error).stack,value:n};r=new Array(n);for(var i=t,o=0;i<=e;i++,o++)r[o]=i;return r.sequence=!0,r}function ht(t,e,r){var n;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(U(t.rhs,e,r),"t0",1);case 1:return n=i.t0,r.bind(t.lhs.value,n),i.abrupt("return",n);case 4:case"end":return i.stop()}},y)}function ft(t,e,r){var n,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(U(t.condition,e,r),"t0",1);case 1:if(o=i.t0,!a.boolean(o)){i.next=7;break}return i.delegateYield(U(t.then,e,r),"t1",4);case 4:n=i.t1,i.next=10;break;case 7:if(void 0===t.else){i.next=10;break}return i.delegateYield(U(t.else,e,r),"t2",9);case 9:n=i.t2;case 10:return i.abrupt("return",n);case 11:case"end":return i.stop()}},m)}function dt(t,e,r){var n,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:o=Dt(r),a=0;case 2:if(!(a<t.expressions.length)){i.next=8;break}return i.delegateYield(U(t.expressions[a],e,o),"t0",4);case 4:n=i.t0;case 5:a++,i.next=2;break;case 8:return i.abrupt("return",n);case 9:case"end":return i.stop()}},b)}function pt(t){var e=new Nt.RegexEngine(t.value),r=function r(n,i){var o;e.lastIndex=i||0;var a=e.exec(n);if(null!==a){if(o={match:a[0],start:a.index,end:a.index+a[0].length,groups:[]},a.length>1)for(var s=1;s<a.length;s++)o.groups.push(a[s]);o.next=function(){if(!(e.lastIndex>=n.length)){var i=r(n,e.lastIndex);if(i&&""===i.match)throw{code:"D1004",stack:(new Error).stack,position:t.position,value:t.value.source};return i}}}return o};return r}function gt(t,e,r){return""===t.value?e&&e.outerWrapper?e[0]:e:r.lookup(t.value)}function vt(t,e,r){var o,s,c,l,u;return i().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return s=e,c=!!e.tupleStream,l=i().mark(function e(o,a){var s,l,u,h,f,d,p,g,v;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:s=0,l=0;case 2:if(!(0===s&&l<t.terms.length)){e.next=35;break}return u=t.terms[l],h=o,f=r,c&&(h=o["@"],f=$(r,o)),e.delegateYield(U(u.expression,h,f),"t0",8);case 8:return d=e.t0,h=a,f=r,c&&(h=a["@"],f=$(r,a)),e.delegateYield(U(u.expression,h,f),"t1",13);case 13:if(p=e.t1,g=n(d),v=n(p),"undefined"!==g){e.next=19;break}return s="undefined"===v?0:1,e.abrupt("continue",32);case 19:if("undefined"!==v){e.next=22;break}return s=-1,e.abrupt("continue",32);case 22:if(!("string"!==g&&"number"!==g||"string"!==v&&"number"!==v)){e.next=24;break}throw{code:"T2008",stack:(new Error).stack,position:t.position,value:"string"!==g&&"number"!==g?d:p};case 24:if(g===v){e.next=26;break}throw{code:"T2007",stack:(new Error).stack,position:t.position,value:d,value2:p};case 26:if(d!==p){e.next=30;break}return e.abrupt("continue",32);case 30:s=d<p?-1:1;case 31:!0===u.descending&&(s=-s);case 32:l++,e.next=2;break;case 35:return e.abrupt("return",1===s);case 36:case"end":return e.stop()}},e)}),u={environment:r,input:e},h.delegateYield(a.sort.apply(u,[s,l]),"t0",5);case 5:return o=h.t0,h.abrupt("return",o);case 7:case"end":return h.stop()}},x)}function yt(t,e,r){var o=i().mark(function e(o){var a,s,c,l,u,h,f,d,p,g,v;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==o){e.next=2;break}return e.abrupt("return",void 0);case 2:if(a=r.lookup("clone"),D(a)){e.next=5;break}throw{code:"T2013",stack:(new Error).stack,position:t.position};case 5:return e.delegateYield(wt(a,[o],null,r),"t0",6);case 6:return s=e.t0,e.delegateYield(U(t.pattern,s,r),"t1",8);case 8:if(void 0===(c=e.t1)){e.next=35;break}Array.isArray(c)||(c=[c]),l=0;case 12:if(!(l<c.length)){e.next=35;break}if(!(u=c[l])||!(u.isPrototypeOf(s)||u instanceof Object.constructor)){e.next=16;break}throw{code:"D1010",stack:(new Error).stack,position:t.position};case 16:return e.delegateYield(U(t.update,u,r),"t2",17);case 17:if(h=e.t2,"undefined"===(f=n(h))){e.next=23;break}if("object"===f&&null!==h&&!Array.isArray(h)){e.next=22;break}throw{code:"T2011",stack:(new Error).stack,position:t.update.position,value:h};case 22:for(d in h)u[d]=h[d];case 23:if(void 0===t.delete){e.next=32;break}return e.delegateYield(U(t.delete,u,r),"t3",25);case 25:if(void 0===(p=e.t3)){e.next=32;break}if(g=p,Array.isArray(p)||(p=[p]),P(p)){e.next=31;break}throw{code:"T2012",stack:(new Error).stack,position:t.delete.position,value:g};case 31:for(v=0;v<p.length;v++)"object"===n(u)&&null!==u&&delete u[p[v]];case 32:l++,e.next=12;break;case 35:return e.abrupt("return",s);case 36:case"end":return e.stop()}},e)});return It(o,"<(oa):o>")}var mt=c("function($f, $g) { function($x){ $g($f($x)) } }");function bt(t,e,r){var n,o,a,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(U(t.lhs,e,r),"t0",1);case 1:if(o=i.t0,"function"!==t.rhs.type){i.next=7;break}return i.delegateYield(xt(t.rhs,e,r,{context:o}),"t1",4);case 4:n=i.t1,i.next=20;break;case 7:return i.delegateYield(U(t.rhs,e,r),"t2",8);case 8:if(a=i.t2,D(a)){i.next=11;break}throw{code:"T2006",stack:(new Error).stack,position:t.position,value:a};case 11:if(!D(o)){i.next=18;break}return i.delegateYield(U(mt,null,r),"t3",13);case 13:return s=i.t3,i.delegateYield(wt(s,[o,a],null,r),"t4",15);case 15:n=i.t4,i.next=20;break;case 18:return i.delegateYield(wt(a,[o],null,r),"t5",19);case 19:n=i.t5;case 20:return i.abrupt("return",n);case 21:case"end":return i.stop()}},w)}function xt(t,e,r,o){var a,s,c,l,u,h;return i().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return f.delegateYield(U(t.procedure,e,r),"t0",1);case 1:if(void 0!==(s=f.t0)||"path"!==t.procedure.type||!r.lookup(t.procedure.steps[0].value)){f.next=4;break}throw{code:"T1005",stack:(new Error).stack,position:t.position,token:t.procedure.steps[0].value};case 4:c=[],void 0!==o&&c.push(o.context),l=i().mark(function n(){var o,a;return i().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.delegateYield(U(t.arguments[u],e,r),"t0",1);case 1:o=n.t0,D(o)?(a=i().mark(function t(){var e,n,a,s=arguments;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:for(e=s.length,n=new Array(e),a=0;a<e;a++)n[a]=s[a];return t.delegateYield(wt(o,n,null,r),"t0",2);case 2:return t.abrupt("return",t.t0);case 3:case"end":return t.stop()}},t)}),a.arity=N(o),c.push(a)):c.push(o);case 3:case"end":return n.stop()}},n)}),u=0;case 8:if(!(u<t.arguments.length)){f.next=13;break}return f.delegateYield(l(),"t1",10);case 10:u++,f.next=8;break;case 13:return h="path"===t.procedure.type?t.procedure.steps[0].value:t.procedure.value,f.prev=14,"object"===n(s)&&(s.token=h,s.position=t.position),f.delegateYield(wt(s,c,e,r),"t2",17);case 17:a=f.t2,f.next=25;break;case 20:throw f.prev=20,f.t3=f.catch(14),f.t3.position||(f.t3.position=t.position),f.t3.token||(f.t3.token=h),f.t3;case 25:return f.abrupt("return",a);case 26:case"end":return f.stop()}},A,null,[[14,20]])}function wt(t,e,r,n){var o,a,s,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(At(t,e,r,n),"t0",1);case 1:o=i.t0;case 2:if(!L(o)||!0!==o.thunk){i.next=21;break}return i.delegateYield(U(o.body.procedure,o.input,o.environment),"t1",4);case 4:a=i.t1,"variable"===o.body.procedure.type&&(a.token=o.body.procedure.value),a.position=o.body.procedure.position,s=[],c=0;case 9:if(!(c<o.body.arguments.length)){i.next=17;break}return i.t2=s,i.delegateYield(U(o.body.arguments[c],o.input,o.environment),"t3",12);case 12:i.t4=i.t3,i.t2.push.call(i.t2,i.t4);case 14:c++,i.next=9;break;case 17:return i.delegateYield(At(a,s,r,n),"t5",18);case 18:o=i.t5,i.next=2;break;case 21:return i.abrupt("return",o);case 22:case"end":return i.stop()}},_)}function At(t,e,r,n){var o,a,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(i.prev=0,a=e,t&&(a=St(t.signature,e,r)),!L(t)){i.next=8;break}return i.delegateYield(kt(t,a),"t0",5);case 5:o=i.t0,i.next=24;break;case 8:if(!t||!0!==t._jsonata_function){i.next=16;break}if(s={environment:n,input:r},o=t.implementation.apply(s,a),!j(o)){i.next=14;break}return i.delegateYield(o,"t1",13);case 13:o=i.t1;case 14:i.next=24;break;case 16:if("function"!=typeof t){i.next=23;break}if(o=t.apply(r,a),!j(o)){i.next=21;break}return i.delegateYield(o,"t2",20);case 20:o=i.t2;case 21:i.next=24;break;case 23:throw{code:"T1006",stack:(new Error).stack};case 24:i.next=30;break;case 26:throw i.prev=26,i.t3=i.catch(0),t&&(void 0===i.t3.token&&void 0!==t.token&&(i.t3.token=t.token),i.t3.position=t.position||i.t3.position),i.t3;case 30:return i.abrupt("return",o);case 31:case"end":return i.stop()}},E,null,[[0,26]])}function _t(t,e,r){var n={_jsonata_lambda:!0,input:e,environment:r,arguments:t.arguments,signature:t.signature,body:t.body};return!0===t.thunk&&(n.thunk=!0),n.apply=i().mark(function t(r,o){return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(wt(n,o,e,r.environment),"t0",1);case 1:return t.abrupt("return",t.t0);case 2:case"end":return t.stop()}},t)}),n}function Et(t,e,r){var n,o,a,s,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:o=[],a=0;case 2:if(!(a<t.arguments.length)){i.next=15;break}if("operator"!==(s=t.arguments[a]).type||"?"!==s.value){i.next=8;break}o.push(s),i.next=12;break;case 8:return i.t0=o,i.delegateYield(U(s,e,r),"t1",10);case 10:i.t2=i.t1,i.t0.push.call(i.t0,i.t2);case 12:a++,i.next=2;break;case 15:return i.delegateYield(U(t.procedure,e,r),"t3",16);case 16:if(void 0!==(c=i.t3)||"path"!==t.procedure.type||!r.lookup(t.procedure.steps[0].value)){i.next=19;break}throw{code:"T1007",stack:(new Error).stack,position:t.position,token:t.procedure.steps[0].value};case 19:if(!L(c)){i.next=23;break}n=Mt(c,o),i.next=32;break;case 23:if(!c||!0!==c._jsonata_function){i.next=27;break}n=Ot(c.implementation,o),i.next=32;break;case 27:if("function"!=typeof c){i.next=31;break}n=Ot(c,o),i.next=32;break;case 31:throw{code:"T1008",stack:(new Error).stack,position:t.position,token:"path"===t.procedure.type?t.procedure.steps[0].value:t.procedure.value};case 32:return i.abrupt("return",n);case 33:case"end":return i.stop()}},S)}function St(t,e,r){return void 0===t?e:t.validate(e,r)}function kt(t,e){var r,n;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(n=Dt(t.environment),t.arguments.forEach(function(t,r){n.bind(t.value,e[r])}),"function"!=typeof t.body){i.next=7;break}return i.delegateYield(Tt(t.body,n),"t0",4);case 4:r=i.t0,i.next=9;break;case 7:return i.delegateYield(U(t.body,t.input,n),"t1",8);case 8:r=i.t1;case 9:return i.abrupt("return",r);case 10:case"end":return i.stop()}},k)}function Mt(t,e){var r=Dt(t.environment),n=[];return t.arguments.forEach(function(t,i){var o=e[i];o&&"operator"===o.type&&"?"===o.value?n.push(t):r.bind(t.value,o)}),{_jsonata_lambda:!0,input:t.input,environment:r,arguments:n,body:t.body}}function Ot(t,e){var r=Pt(t),n="function("+(r=r.map(function(t){return"$"+t.trim()})).join(", ")+"){ _ }",i=c(n);return i.body=t,Mt(i,e)}function Tt(t,e){var r,n,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(r=Pt(t),n=r.map(function(t){return e.lookup(t.trim())}),o={environment:e},a=t.apply(o,n),!j(a)){i.next=7;break}return i.delegateYield(a,"t0",6);case 6:a=i.t0;case 7:return i.abrupt("return",a);case 8:case"end":return i.stop()}},M)}function Pt(t){var e=t.toString();return/\(([^)]*)\)/.exec(e)[1].split(",")}function It(t,e){var r={_jsonata_function:!0,implementation:t};return void 0!==e&&(r.signature=l(e)),r}function Ct(t,e){var r,n,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:r=this.input,void 0!==e&&(r=e,Array.isArray(r)&&!R(r)&&((r=C(r)).outerWrapper=!0)),i.prev=4,n=c(t,!1),i.next=12;break;case 8:throw i.prev=8,i.t0=i.catch(4),jt(i.t0),{stack:(new Error).stack,code:"D3120",value:i.t0.message,error:i.t0};case 12:return i.prev=12,i.delegateYield(U(n,r,this.environment),"t1",14);case 14:o=i.t1,i.next=21;break;case 17:throw i.prev=17,i.t2=i.catch(12),jt(i.t2),{stack:(new Error).stack,code:"D3121",value:i.t2.message,error:i.t2};case 21:return i.abrupt("return",o);case 22:case"end":return i.stop()}},O,this,[[4,8],[12,17]])}function Rt(t){if(void 0!==t)return JSON.parse(a.string(t))}function Dt(t){var e={};return{bind:function(t,r){e[t]=r},lookup:function(r){var n;return e.hasOwnProperty(r)?n=e[r]:t&&(n=t.lookup(r)),n},timestamp:t?t.timestamp:null,async:!!t&&t.async,global:t?t.global:{ancestry:[null]}}}z.bind("sum",It(a.sum,"<a<n>:n>")),z.bind("count",It(a.count,"<a:n>")),z.bind("max",It(a.max,"<a<n>:n>")),z.bind("min",It(a.min,"<a<n>:n>")),z.bind("average",It(a.average,"<a<n>:n>")),z.bind("string",It(a.string,"<x-b?:s>")),z.bind("substring",It(a.substring,"<s-nn?:s>")),z.bind("substringBefore",It(a.substringBefore,"<s-s:s>")),z.bind("substringAfter",It(a.substringAfter,"<s-s:s>")),z.bind("lowercase",It(a.lowercase,"<s-:s>")),z.bind("uppercase",It(a.uppercase,"<s-:s>")),z.bind("length",It(a.length,"<s-:n>")),z.bind("trim",It(a.trim,"<s-:s>")),z.bind("pad",It(a.pad,"<s-ns?:s>")),z.bind("match",It(a.match,"<s-f<s:o>n?:a<o>>")),z.bind("contains",It(a.contains,"<s-(sf):b>")),z.bind("replace",It(a.replace,"<s-(sf)(sf)n?:s>")),z.bind("split",It(a.split,"<s-(sf)n?:a<s>>")),z.bind("join",It(a.join,"<a<s>s?:s>")),z.bind("formatNumber",It(a.formatNumber,"<n-so?:s>")),z.bind("formatBase",It(a.formatBase,"<n-n?:s>")),z.bind("formatInteger",It(o.formatInteger,"<n-s:s>")),z.bind("parseInteger",It(o.parseInteger,"<s-s:n>")),z.bind("number",It(a.number,"<(nsb)-:n>")),z.bind("floor",It(a.floor,"<n-:n>")),z.bind("ceil",It(a.ceil,"<n-:n>")),z.bind("round",It(a.round,"<n-n?:n>")),z.bind("abs",It(a.abs,"<n-:n>")),z.bind("sqrt",It(a.sqrt,"<n-:n>")),z.bind("power",It(a.power,"<n-n:n>")),z.bind("random",It(a.random,"<:n>")),z.bind("boolean",It(a.boolean,"<x-:b>")),z.bind("not",It(a.not,"<x-:b>")),z.bind("map",It(a.map,"<af>")),z.bind("zip",It(a.zip,"<a+>")),z.bind("filter",It(a.filter,"<af>")),z.bind("single",It(a.single,"<af?>")),z.bind("reduce",It(a.foldLeft,"<afj?:j>")),z.bind("sift",It(a.sift,"<o-f?:o>")),z.bind("keys",It(a.keys,"<x-:a<s>>")),z.bind("lookup",It(a.lookup,"<x-s:x>")),z.bind("append",It(a.append,"<xx:a>")),z.bind("exists",It(a.exists,"<x:b>")),z.bind("spread",It(a.spread,"<x-:a<o>>")),z.bind("merge",It(a.merge,"<a<o>:o>")),z.bind("reverse",It(a.reverse,"<a:a>")),z.bind("each",It(a.each,"<o-f:a>")),z.bind("error",It(a.error,"<s?:x>")),z.bind("assert",It(a.assert,"<bs?:x>")),z.bind("type",It(a.type,"<x:s>")),z.bind("sort",It(a.sort,"<af?:a>")),z.bind("shuffle",It(a.shuffle,"<a:a>")),z.bind("distinct",It(a.distinct,"<x:x>")),z.bind("base64encode",It(a.base64encode,"<s-:s>")),z.bind("base64decode",It(a.base64decode,"<s-:s>")),z.bind("encodeUrlComponent",It(a.encodeUrlComponent,"<s-:s>")),z.bind("encodeUrl",It(a.encodeUrl,"<s-:s>")),z.bind("decodeUrlComponent",It(a.decodeUrlComponent,"<s-:s>")),z.bind("decodeUrl",It(a.decodeUrl,"<s-:s>")),z.bind("eval",It(Ct,"<sx?:x>")),z.bind("toMillis",It(o.toMillis,"<s-s?:n>")),z.bind("fromMillis",It(o.fromMillis,"<n-s?s?:s>")),z.bind("clone",It(Rt,"<(oa)-:o>"));var Lt={S0101:"String literal must be terminated by a matching quote",S0102:"Number out of range: {{token}}",S0103:"Unsupported escape sequence: \\{{token}}",S0104:"The escape sequence \\u must be followed by 4 hex digits",S0105:"Quoted property name must be terminated with a backquote (`)",S0106:"Comment has no closing tag",S0201:"Syntax error: {{token}}",S0202:"Expected {{value}}, got {{token}}",S0203:"Expected {{value}} before end of expression",S0204:"Unknown operator: {{token}}",S0205:"Unexpected token: {{token}}",S0206:"Unknown expression type: {{token}}",S0207:"Unexpected end of expression",S0208:"Parameter {{value}} of function definition must be a variable name (start with $)",S0209:"A predicate cannot follow a grouping expression in a step",S0210:"Each step can only have one grouping expression",S0211:"The symbol {{token}} cannot be used as a unary operator",S0212:"The left side of := must be a variable name (start with $)",S0213:"The literal value {{value}} cannot be used as a step within a path expression",S0214:"The right side of {{token}} must be a variable name (start with $)",S0215:"A context variable binding must precede any predicates on a step",S0216:"A context variable binding must precede the 'order-by' clause on a step",S0217:"The object representing the 'parent' cannot be derived from this expression",S0301:"Empty regular expressions are not allowed",S0302:"No terminating / in regular expression",S0402:"Choice groups containing parameterized types are not supported",S0401:"Type parameters can only be applied to functions and arrays",S0500:"Attempted to evaluate an expression containing syntax error(s)",T0410:"Argument {{index}} of function {{token}} does not match function signature",T0411:"Context value is not a compatible type with argument {{index}} of function {{token}}",T0412:"Argument {{index}} of function {{token}} must be an array of {{type}}",D1001:"Number out of range: {{value}}",D1002:"Cannot negate a non-numeric value: {{value}}",T1003:"Key in object structure must evaluate to a string; got: {{value}}",D1004:"Regular expression matches zero length string",T1005:"Attempted to invoke a non-function. Did you mean ${{{token}}}?",T1006:"Attempted to invoke a non-function",T1007:"Attempted to partially apply a non-function. Did you mean ${{{token}}}?",T1008:"Attempted to partially apply a non-function",D1009:"Multiple key definitions evaluate to same key: {{value}}",D1010:"Attempted to access the Javascript object prototype",T1010:"The matcher function argument passed to function {{token}} does not return the correct object structure",T2001:"The left side of the {{token}} operator must evaluate to a number",T2002:"The right side of the {{token}} operator must evaluate to a number",T2003:"The left side of the range operator (..) must evaluate to an integer",T2004:"The right side of the range operator (..) must evaluate to an integer",D2005:"The left side of := must be a variable name (start with $)",T2006:"The right side of the function application operator ~> must be a function",T2007:"Type mismatch when comparing values {{value}} and {{value2}} in order-by clause",T2008:"The expressions within an order-by clause must evaluate to numeric or string values",T2009:"The values {{value}} and {{value2}} either side of operator {{token}} must be of the same data type",T2010:"The expressions either side of operator {{token}} must evaluate to numeric or string values",T2011:"The insert/update clause of the transform expression must evaluate to an object: {{value}}",T2012:"The delete clause of the transform expression must evaluate to a string or array of strings: {{value}}",T2013:"The transform expression clones the input object using the $clone() function. This has been overridden in the current scope by a non-function.",D2014:"The size of the sequence allocated by the range operator (..) must not exceed 1e6. Attempted to allocate {{value}}.",D3001:"Attempting to invoke string function on Infinity or NaN",D3010:"Second argument of replace function cannot be an empty string",D3011:"Fourth argument of replace function must evaluate to a positive number",D3012:"Attempted to replace a matched string with a non-string value",D3020:"Third argument of split function must evaluate to a positive number",D3030:"Unable to cast value to a number: {{value}}",D3040:"Third argument of match function must evaluate to a positive number",D3050:"The second argument of reduce function must be a function with at least two arguments",D3060:"The sqrt function cannot be applied to a negative number: {{value}}",D3061:"The power function has resulted in a value that cannot be represented as a JSON number: base={{value}}, exponent={{exp}}",D3070:"The single argument form of the sort function can only be applied to an array of strings or an array of numbers. Use the second argument to specify a comparison function",D3080:"The picture string must only contain a maximum of two sub-pictures",D3081:"The sub-picture must not contain more than one instance of the 'decimal-separator' character",D3082:"The sub-picture must not contain more than one instance of the 'percent' character",D3083:"The sub-picture must not contain more than one instance of the 'per-mille' character",D3084:"The sub-picture must not contain both a 'percent' and a 'per-mille' character",D3085:"The mantissa part of a sub-picture must contain at least one character that is either an 'optional digit character' or a member of the 'decimal digit family'",D3086:"The sub-picture must not contain a passive character that is preceded by an active character and that is followed by another active character",D3087:"The sub-picture must not contain a 'grouping-separator' character that appears adjacent to a 'decimal-separator' character",D3088:"The sub-picture must not contain a 'grouping-separator' at the end of the integer part",D3089:"The sub-picture must not contain two adjacent instances of the 'grouping-separator' character",D3090:"The integer part of the sub-picture must not contain a member of the 'decimal digit family' that is followed by an instance of the 'optional digit character'",D3091:"The fractional part of the sub-picture must not contain an instance of the 'optional digit character' that is followed by a member of the 'decimal digit family'",D3092:"A sub-picture that contains a 'percent' or 'per-mille' character must not contain a character treated as an 'exponent-separator'",D3093:"The exponent part of the sub-picture must comprise only of one or more characters that are members of the 'decimal digit family'",D3100:"The radix of the formatBase function must be between 2 and 36. It was given {{value}}",D3110:"The argument of the toMillis function must be an ISO 8601 formatted timestamp. Given {{value}}",D3120:"Syntax error in expression passed to function eval: {{value}}",D3121:"Dynamic error evaluating the expression passed to function eval: {{value}}",D3130:"Formatting or parsing an integer as a sequence starting with {{value}} is not supported by this implementation",D3131:"In a decimal digit pattern, all digits must be from the same decimal group",D3132:"Unknown component specifier {{value}} in date/time picture string",D3133:"The 'name' modifier can only be applied to months and days in the date/time picture string, not {{value}}",D3134:"The timezone integer format specifier cannot have more than four digits",D3135:"No matching closing bracket ']' in date/time picture string",D3136:"The date/time picture string is missing specifiers required to parse the timestamp",D3137:"{{{message}}}",D3138:"The $single() function expected exactly 1 matching result. Instead it matched more.",D3139:"The $single() function expected exactly 1 matching result. Instead it matched 0.",D3140:"Malformed URL passed to ${{{functionName}}}(): {{value}}",D3141:"{{{message}}}"};function jt(t){var e=Lt[t.code];if(void 0!==e){var r=e.replace(/\{\{\{([^}]+)}}}/g,function(){return t[arguments[1]]});r=r.replace(/\{\{([^}]+)}}/g,function(){return JSON.stringify(t[arguments[1]])}),t.message=r}}function Nt(t,e){var r,n;try{r=c(t,e&&e.recover),n=r.errors,delete r.errors}catch(t){throw jt(t),t}var i=Dt(z),a=new Date;return i.bind("now",It(function(t,e){return o.fromMillis(a.getTime(),t,e)},"<s?s?:s>")),i.bind("millis",It(function(){return a.getTime()},"<:n>")),e&&e.RegexEngine?Nt.RegexEngine=e.RegexEngine:Nt.RegexEngine=RegExp,{evaluate:function(t,e,o){if(void 0!==n){var s={code:"S0500",position:0};throw jt(s),s}var c,l,u;if(void 0!==e)for(var h in c=Dt(i),e)c.bind(h,e[h]);else c=i;if(c.bind("$",t),a=new Date,c.timestamp=a,Array.isArray(t)&&!R(t)&&((t=C(t)).outerWrapper=!0),"function"==typeof o){c.async=!0;var f=function(t){jt(t),o(t,null)},d=function t(e){(l=u.next(e)).done?o(null,l.value):l.value.then(t).catch(f)};u=U(r,t,c),(l=u.next()).value.then(d).catch(f)}else try{for(u=U(r,t,c),l=u.next();!l.done;)l=u.next(l.value);return l.value}catch(s){throw jt(s),s}},assign:function(t,e){i.bind(t,e)},registerFunction:function(t,e,r){var n=It(e,r);i.bind(t,n)},ast:function(){return r},errors:function(){return n}}}return Nt.parser=c,Nt}();e.exports=u},{"./datetime":1,"./functions":2,"./parser":4,"./signature":5,"./utils":6}],4:[function(t,e,r){var n=t("./signature"),i=function(){var t={".":75,"[":80,"]":0,"{":70,"}":0,"(":80,")":0,",":0,"@":80,"#":80,";":80,":":80,"?":20,"+":50,"-":50,"*":60,"/":60,"%":60,"|":20,"=":40,"<":40,">":40,"^":40,"**":60,"..":20,":=":10,"!=":40,"<=":40,">=":40,"~>":40,and:30,or:25,in:40,"&":50,"!":0,"~":0},e={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},r=function(r){var n=0,i=r.length,o=function(t,e){return{type:t,value:e,position:n}},a=function(){for(var t,e,o=n,a=0;n<i;){var s=r.charAt(n);if("/"===s&&"\\"!==r.charAt(n-1)&&0===a){if(""===(t=r.substring(o,n)))throw{code:"S0301",stack:(new Error).stack,position:n};for(n++,s=r.charAt(n),o=n;"i"===s||"m"===s;)n++,s=r.charAt(n);return e=r.substring(o,n)+"g",new RegExp(t,e)}"("!==s&&"["!==s&&"{"!==s||"\\"===r.charAt(n-1)||a++,")"!==s&&"]"!==s&&"}"!==s||"\\"===r.charAt(n-1)||a--,n++}throw{code:"S0302",stack:(new Error).stack,position:n}},s=function s(c){if(n>=i)return null;for(var l=r.charAt(n);n<i&&" \t\n\r\v".indexOf(l)>-1;)n++,l=r.charAt(n);if("/"===l&&"*"===r.charAt(n+1)){var u=n;for(n+=2,l=r.charAt(n);"*"!==l||"/"!==r.charAt(n+1);)if(l=r.charAt(++n),n>=i)throw{code:"S0106",stack:(new Error).stack,position:u};return n+=2,l=r.charAt(n),s(c)}if(!0!==c&&"/"===l)return n++,o("regex",a());if("."===l&&"."===r.charAt(n+1))return n+=2,o("operator","..");if(":"===l&&"="===r.charAt(n+1))return n+=2,o("operator",":=");if("!"===l&&"="===r.charAt(n+1))return n+=2,o("operator","!=");if(">"===l&&"="===r.charAt(n+1))return n+=2,o("operator",">=");if("<"===l&&"="===r.charAt(n+1))return n+=2,o("operator","<=");if("*"===l&&"*"===r.charAt(n+1))return n+=2,o("operator","**");if("~"===l&&">"===r.charAt(n+1))return n+=2,o("operator","~>");if(Object.prototype.hasOwnProperty.call(t,l))return n++,o("operator",l);if('"'===l||"'"===l){var h=l;n++;for(var f="";n<i;){if("\\"===(l=r.charAt(n)))if(n++,l=r.charAt(n),Object.prototype.hasOwnProperty.call(e,l))f+=e[l];else{if("u"!==l)throw{code:"S0103",stack:(new Error).stack,position:n,token:l};var d=r.substr(n+1,4);if(!/^[0-9a-fA-F]+$/.test(d))throw{code:"S0104",stack:(new Error).stack,position:n};var p=parseInt(d,16);f+=String.fromCharCode(p),n+=4}else{if(l===h)return n++,o("string",f);f+=l}n++}throw{code:"S0101",stack:(new Error).stack,position:n}}var g,v=/^-?(0|([1-9][0-9]*))(\.[0-9]+)?([Ee][-+]?[0-9]+)?/.exec(r.substring(n));if(null!==v){var y=parseFloat(v[0]);if(!isNaN(y)&&isFinite(y))return n+=v[0].length,o("number",y);throw{code:"S0102",stack:(new Error).stack,position:n,token:v[0]}}if("`"===l){n++;var m=r.indexOf("`",n);if(-1!==m)return g=r.substring(n,m),n=m+1,o("name",g);throw n=i,{code:"S0105",stack:(new Error).stack,position:n}}for(var b,x=n;;)if(b=r.charAt(x),x===i||" \t\n\r\v".indexOf(b)>-1||Object.prototype.hasOwnProperty.call(t,b)){if("$"===r.charAt(n))return g=r.substring(n+1,x),n=x,o("variable",g);switch(g=r.substring(n,x),n=x,g){case"or":case"in":case"and":return o("operator",g);case"true":return o("value",!0);case"false":return o("value",!1);case"null":return o("value",null);default:return n===i&&""===g?null:o("name",g)}}else x++};return s},i=function(e,i){var o,a,s={},c=[],l=function(){var t=[];"(end)"!==o.id&&t.push({type:o.type,value:o.value,position:o.position});for(var e=a();null!==e;)t.push(e),e=a();return t},u={nud:function(){var t={code:"S0211",token:this.value,position:this.position};if(i)return t.remaining=l(),t.type="error",c.push(t),t;throw t.stack=(new Error).stack,t}},h=function(t,e){var r=s[t];return e=e||0,r?e>=r.lbp&&(r.lbp=e):((r=Object.create(u)).id=r.value=t,r.lbp=e,s[t]=r),r},f=function(t){if(i){t.remaining=l(),c.push(t);var e=s["(error)"];return(o=Object.create(e)).error=t,o.type="(error)",o}throw t.stack=(new Error).stack,t},d=function(t,r){if(t&&o.id!==t){var n={code:"(end)"===o.id?"S0203":"S0202",position:o.position,token:o.value,value:t};return f(n)}var i=a(r);if(null===i)return(o=s["(end)"]).position=e.length,o;var c,l=i.value,u=i.type;switch(u){case"name":case"variable":c=s["(name)"];break;case"operator":if(!(c=s[l]))return f({code:"S0204",stack:(new Error).stack,position:i.position,token:l});break;case"string":case"number":case"value":c=s["(literal)"];break;case"regex":u="regex",c=s["(regex)"];break;default:return f({code:"S0205",stack:(new Error).stack,position:i.position,token:l})}return(o=Object.create(c)).value=l,o.type=u,o.position=i.position,o},p=function(t){var e,r=o;for(d(null,!0),e=r.nud();t<o.lbp;)r=o,d(),e=r.led(e);return e},g=function(t){h(t,0).nud=function(){return this}},v=function(e,r,n){var i=r||t[e],o=h(e,i);return o.led=n||function(t){return this.lhs=t,this.rhs=p(i),this.type="binary",this},o},y=function(t,e,r){var n=h(t,e);return n.led=r,n},m=function(t,e){var r=h(t);return r.nud=e||function(){return this.expression=p(70),this.type="unary",this},r};g("(end)"),g("(name)"),g("(literal)"),g("(regex)"),h(":"),h(";"),h(","),h(")"),h("]"),h("}"),h(".."),v("."),v("+"),v("-"),v("*"),v("/"),v("%"),v("="),v("<"),v(">"),v("!="),v("<="),v(">="),v("&"),v("and"),v("or"),v("in"),g("and"),g("or"),g("in"),m("-"),v("~>"),y("(error)",10,function(t){return this.lhs=t,this.error=o.error,this.remaining=l(),this.type="error",this}),m("*",function(){return this.type="wildcard",this}),m("**",function(){return this.type="descendant",this}),m("%",function(){return this.type="parent",this}),v("(",t["("],function(t){if(this.procedure=t,this.type="function",this.arguments=[],")"!==o.id)for(;"operator"===o.type&&"?"===o.id?(this.type="partial",this.arguments.push(o),d("?")):this.arguments.push(p(0)),","===o.id;)d(",");if(d(")",!0),"name"===t.type&&("function"===t.value||"λ"===t.value)){if(this.arguments.forEach(function(t,e){if("variable"!==t.type)return f({code:"S0208",stack:(new Error).stack,position:t.position,token:t.value,value:e+1})}),this.type="lambda","<"===o.id){for(var e=o.position,r=1,i="<";r>0&&"{"!==o.id&&"(end)"!==o.id;){var a=d();">"===a.id?r--:"<"===a.id&&r++,i+=a.value}d(">");try{this.signature=n(i)}catch(t){return t.position=e+t.offset,f(t)}}d("{"),this.body=p(0),d("}")}return this}),m("(",function(){for(var t=[];")"!==o.id&&(t.push(p(0)),";"===o.id);)d(";");return d(")",!0),this.type="block",this.expressions=t,this}),m("[",function(){var t=[];if("]"!==o.id)for(;;){var e=p(0);if(".."===o.id){var r={type:"binary",value:"..",position:o.position,lhs:e};d(".."),r.rhs=p(0),e=r}if(t.push(e),","!==o.id)break;d(",")}return d("]",!0),this.expressions=t,this.type="unary",this}),v("[",t["["],function(e){if("]"===o.id){for(var r=e;r&&"binary"===r.type&&"["===r.value;)r=r.lhs;return r.keepArray=!0,d("]"),e}return this.lhs=e,this.rhs=p(t["]"]),this.type="binary",d("]",!0),this}),v("^",t["^"],function(t){d("(");for(var e=[];;){var r={descending:!1};if("<"===o.id?d("<"):">"===o.id&&(r.descending=!0,d(">")),r.expression=p(0),e.push(r),","!==o.id)break;d(",")}return d(")"),this.lhs=t,this.rhs=e,this.type="binary",this});var b=function(t){var e=[];if("}"!==o.id)for(;;){var r=p(0);d(":");var n=p(0);if(e.push([r,n]),","!==o.id)break;d(",")}return d("}",!0),void 0===t?(this.lhs=e,this.type="unary"):(this.lhs=t,this.rhs=e,this.type="binary"),this};m("{",b),v("{",t["{"],b),y(":=",t[":="],function(e){return"variable"!==e.type?f({code:"S0212",stack:(new Error).stack,position:e.position,token:e.value}):(this.lhs=e,this.rhs=p(t[":="]-1),this.type="binary",this)}),v("@",t["@"],function(e){return this.lhs=e,this.rhs=p(t["@"]),"variable"!==this.rhs.type?f({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"@"}):(this.type="binary",this)}),v("#",t["#"],function(e){return this.lhs=e,this.rhs=p(t["#"]),"variable"!==this.rhs.type?f({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"#"}):(this.type="binary",this)}),v("?",t["?"],function(t){return this.type="condition",this.condition=t,this.then=p(0),":"===o.id&&(d(":"),this.else=p(0)),this}),m("|",function(){return this.type="transform",this.pattern=p(0),d("|"),this.update=p(0),","===o.id&&(d(","),this.delete=p(0)),d("|"),this});var x=function t(e){var r;if("function"!==e.type||e.predicate)if("condition"===e.type)e.then=t(e.then),void 0!==e.else&&(e.else=t(e.else)),r=e;else if("block"===e.type){var n=e.expressions.length;n>0&&(e.expressions[n-1]=t(e.expressions[n-1])),r=e}else r=e;else{var i={type:"lambda",thunk:!0,arguments:[],position:e.position};i.body=e,r=i}return r},w=0,A=0,_=[],E=function t(e,r){switch(e.type){case"name":case"wildcard":r.level--,0===r.level&&(void 0===e.ancestor||(_[r.index].slot.label=e.ancestor.label),e.ancestor=r,e.tuple=!0);break;case"parent":r.level++;break;case"block":e.expressions.length>0&&(e.tuple=!0,r=t(e.expressions[e.expressions.length-1],r));break;case"path":e.tuple=!0;var n=e.steps.length-1;for(r=t(e.steps[n--],r);r.level>0&&n>=0;)r=t(e.steps[n--],r);break;default:throw{code:"S0217",token:e.type,position:e.position}}return r},S=function(t,e){if(void 0!==e.seekingParent||"parent"===e.type){var r=void 0!==e.seekingParent?e.seekingParent:[];"parent"===e.type&&r.push(e.slot),void 0===t.seekingParent?t.seekingParent=r:Array.prototype.push.apply(t.seekingParent,r)}},k=function(t){var e=t.steps.length-1,r=t.steps[e],n=void 0!==r.seekingParent?r.seekingParent:[];"parent"===r.type&&n.push(r.slot);for(var i=0;i<n.length;i++){var o=n[i];for(e=t.steps.length-2;o.level>0;){if(e<0){void 0===t.seekingParent?t.seekingParent=[o]:t.seekingParent.push(o);break}for(var a=t.steps[e--];e>=0&&a.focus&&t.steps[e].focus;)a=t.steps[e--];o=E(a,o)}}},M=function t(e){var r;switch(e.type){case"binary":switch(e.value){case".":var n=t(e.lhs);r="path"===n.type?n:{type:"path",steps:[n]},"parent"===n.type&&(r.seekingParent=[n.slot]);var o=t(e.rhs);"function"===o.type&&"path"===o.procedure.type&&1===o.procedure.steps.length&&"name"===o.procedure.steps[0].type&&"function"===r.steps[r.steps.length-1].type&&(r.steps[r.steps.length-1].nextFunction=o.procedure.steps[0].value),"path"===o.type?Array.prototype.push.apply(r.steps,o.steps):(void 0!==o.predicate&&(o.stages=o.predicate,delete o.predicate),r.steps.push(o)),r.steps.filter(function(t){if("number"===t.type||"value"===t.type)throw{code:"S0213",stack:(new Error).stack,position:t.position,value:t.value};return"string"===t.type}).forEach(function(t){t.type="name"}),r.steps.filter(function(t){return!0===t.keepArray}).length>0&&(r.keepSingletonArray=!0);var a=r.steps[0];"unary"===a.type&&"["===a.value&&(a.consarray=!0);var s=r.steps[r.steps.length-1];"unary"===s.type&&"["===s.value&&(s.consarray=!0),k(r);break;case"[":var l=r=t(e.lhs),u="predicate";if("path"===r.type&&(l=r.steps[r.steps.length-1],u="stages"),void 0!==l.group)throw{code:"S0209",stack:(new Error).stack,position:e.position};void 0===l[u]&&(l[u]=[]);var h=t(e.rhs);void 0!==h.seekingParent&&(h.seekingParent.forEach(function(t){1===t.level?E(l,t):t.level--}),S(l,h)),l[u].push({type:"filter",expr:h,position:e.position});break;case"{":if(void 0!==(r=t(e.lhs)).group)throw{code:"S0210",stack:(new Error).stack,position:e.position};r.group={lhs:e.rhs.map(function(e){return[t(e[0]),t(e[1])]}),position:e.position};break;case"^":"path"!==(r=t(e.lhs)).type&&(r={type:"path",steps:[r]});var f={type:"sort",position:e.position};f.terms=e.rhs.map(function(e){var r=t(e.expression);return S(f,r),{descending:e.descending,expression:r}}),r.steps.push(f),k(r);break;case":=":(r={type:"bind",value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs),S(r,r.rhs);break;case"@":if(r=t(e.lhs),l=r,"path"===r.type&&(l=r.steps[r.steps.length-1]),void 0!==l.stages||void 0!==l.predicate)throw{code:"S0215",stack:(new Error).stack,position:e.position};if("sort"===l.type)throw{code:"S0216",stack:(new Error).stack,position:e.position};e.keepArray&&(l.keepArray=!0),l.focus=e.rhs.value,l.tuple=!0;break;case"#":r=t(e.lhs),l=r,"path"===r.type?l=r.steps[r.steps.length-1]:(r={type:"path",steps:[r]},void 0!==l.predicate&&(l.stages=l.predicate,delete l.predicate)),void 0===l.stages?l.index=e.rhs.value:l.stages.push({type:"index",value:e.rhs.value,position:e.position}),l.tuple=!0;break;case"~>":(r={type:"apply",value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs);break;default:(r={type:e.type,value:e.value,position:e.position}).lhs=t(e.lhs),r.rhs=t(e.rhs),S(r,r.lhs),S(r,r.rhs)}break;case"unary":r={type:e.type,value:e.value,position:e.position},"["===e.value?r.expressions=e.expressions.map(function(e){var n=t(e);return S(r,n),n}):"{"===e.value?r.lhs=e.lhs.map(function(e){var n=t(e[0]);S(r,n);var i=t(e[1]);return S(r,i),[n,i]}):(r.expression=t(e.expression),"-"===e.value&&"number"===r.expression.type?(r=r.expression).value=-r.value:S(r,r.expression));break;case"function":case"partial":(r={type:e.type,name:e.name,value:e.value,position:e.position}).arguments=e.arguments.map(function(e){var n=t(e);return S(r,n),n}),r.procedure=t(e.procedure);break;case"lambda":r={type:e.type,arguments:e.arguments,signature:e.signature,position:e.position};var d=t(e.body);r.body=x(d);break;case"condition":(r={type:e.type,position:e.position}).condition=t(e.condition),S(r,r.condition),r.then=t(e.then),S(r,r.then),void 0!==e.else&&(r.else=t(e.else),S(r,r.else));break;case"transform":(r={type:e.type,position:e.position}).pattern=t(e.pattern),r.update=t(e.update),void 0!==e.delete&&(r.delete=t(e.delete));break;case"block":(r={type:e.type,position:e.position}).expressions=e.expressions.map(function(e){var n=t(e);return S(r,n),(n.consarray||"path"===n.type&&n.steps[0].consarray)&&(r.consarray=!0),n});break;case"name":r={type:"path",steps:[e]},e.keepArray&&(r.keepSingletonArray=!0);break;case"parent":r={type:"parent",slot:{label:"!"+w++,level:1,index:A++}},_.push(r);break;case"string":case"number":case"value":case"wildcard":case"descendant":case"variable":case"regex":r=e;break;case"operator":if("and"===e.value||"or"===e.value||"in"===e.value)e.type="name",r=t(e);else{if("?"!==e.value)throw{code:"S0201",stack:(new Error).stack,position:e.position,token:e.value};r=e}break;case"error":r=e,e.lhs&&(r=t(e.lhs));break;default:var p="S0206";"(end)"===e.id&&(p="S0207");var g={code:p,position:e.position,token:e.value};if(i)return c.push(g),{type:"error",error:g};throw g.stack=(new Error).stack,g}return e.keepArray&&(r.keepArray=!0),r};a=r(e),d();var O=p(0);if("(end)"!==o.id){var T={code:"S0201",position:o.position,token:o.value};f(T)}if("parent"===(O=M(O)).type||void 0!==O.seekingParent)throw{code:"S0217",token:O.type,position:O.position};return c.length>0&&(O.errors=c),O};return i}();e.exports=i},{"./signature":5}],5:[function(t,e,r){function n(t){return n="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},n(t)}var i=t("./utils"),o=function(){var t={a:"arrays",b:"booleans",f:"functions",n:"numbers",o:"objects",s:"strings"};function e(e){for(var r=1,o=[],a={},s=a;r<e.length;){var c=e.charAt(r);if(":"===c)break;var l=function(){o.push(a),s=a,a={}},u=function(t,e,r,n){for(var i=1,o=e;o<t.length;)if(o++,(c=t.charAt(o))===n){if(0===--i)break}else c===r&&i++;return o};switch(c){case"s":case"n":case"b":case"l":case"o":a.regex="["+c+"m]",a.type=c,l();break;case"a":a.regex="[asnblfom]",a.type=c,a.array=!0,l();break;case"f":a.regex="f",a.type=c,l();break;case"j":a.regex="[asnblom]",a.type=c,l();break;case"x":a.regex="[asnblfom]",a.type=c,l();break;case"-":s.context=!0,s.contextRegex=new RegExp(s.regex),s.regex+="?";break;case"?":case"+":s.regex+=c;break;case"(":var h=u(e,r,"(",")"),f=e.substring(r+1,h);if(-1!==f.indexOf("<"))throw{code:"S0402",stack:(new Error).stack,value:f,offset:r};a.regex="["+f+"m]",a.type="("+f+")",r=h,l();break;case"<":if("a"!==s.type&&"f"!==s.type)throw{code:"S0401",stack:(new Error).stack,value:s.type,offset:r};var d=u(e,r,"<",">");s.subtype=e.substring(r+1,d),r=d}r++}var p="^"+o.map(function(t){return"("+t.regex+")"}).join("")+"$",g=new RegExp(p),v=function(t){var e;if(i.isFunction(t))e="f";else switch(n(t)){case"string":e="s";break;case"number":e="n";break;case"boolean":e="b";break;case"object":e=null===t?"l":Array.isArray(t)?"a":"o";break;default:e="m"}return e},y=function(t,e){for(var r="^",n=0,i=0;i<o.length;i++){r+=o[i].regex;var a=e.match(r);if(null===a)throw{code:"T0410",stack:(new Error).stack,value:t[n],index:n+1};n=a[0].length}throw{code:"T0410",stack:(new Error).stack,value:t[n],index:n+1}};return{definition:e,validate:function(e,r){var n="";e.forEach(function(t){n+=v(t)});var i=g.exec(n);if(i){var a=[],s=0;return o.forEach(function(n,o){var c=e[s],l=i[o+1];if(""===l)if(n.context&&n.contextRegex){var u=v(r);if(!n.contextRegex.test(u))throw{code:"T0411",stack:(new Error).stack,value:r,index:s+1};a.push(r)}else a.push(c),s++;else l.split("").forEach(function(r){if("a"===n.type){if("m"===r)c=void 0;else{c=e[s];var i=!0;if(void 0!==n.subtype)if("a"!==r&&l!==n.subtype)i=!1;else if("a"===r&&c.length>0){var o=v(c[0]);i=o===n.subtype.charAt(0)&&0===c.filter(function(t){return v(t)!==o}).length}if(!i)throw{code:"T0412",stack:(new Error).stack,value:c,index:s+1,type:t[n.subtype]};"a"!==r&&(c=[c])}a.push(c),s++}else a.push(c),s++})}),a}y(e,n)}}}return e}();e.exports=o},{"./utils":6}],6:[function(t,e,r){function n(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=i(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}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,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return s=t.done,t},e:function(t){c=!0,a=t},f:function(){try{s||null==r.return||r.return()}finally{if(c)throw a}}}}function i(t,e){if(t){if("string"==typeof t)return o(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(t,e):void 0}}function o(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function a(t){return a="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},a(t)}var s=function(){function t(t){var e=!1;if("number"==typeof t&&(e=!isNaN(t))&&!isFinite(t))throw{code:"D1001",value:t,stack:(new Error).stack};return e}function e(t){var e=!1;return Array.isArray(t)&&(e=0===t.filter(function(t){return"string"!=typeof t}).length),e}function r(e){var r=!1;return Array.isArray(e)&&(r=0===e.filter(function(e){return!t(e)}).length),r}function i(){var t=[];return t.sequence=!0,1===arguments.length&&t.push(arguments[0]),t}function o(t){return!0===t.sequence&&Array.isArray(t)}function s(t){return t&&(!0===t._jsonata_function||!0===t._jsonata_lambda)||"function"==typeof t}function c(t){return"number"==typeof t.arity?t.arity:"function"==typeof t.implementation?t.implementation.length:"number"==typeof t.length?t.length:t.arguments.length}function l(t){return t&&!0===t._jsonata_lambda}var u=("function"==typeof Symbol?Symbol:{}).iterator||"@@iterator";function h(t){return"object"===a(t)&&null!==t&&u in t&&"next"in t&&"function"==typeof t.next}function f(t,e){if(t===e)return!0;if("object"===a(t)&&"object"===a(e)&&null!==t&&null!==e){if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(!f(t[r],e[r]))return!1;return!0}var n=Object.getOwnPropertyNames(t),i=Object.getOwnPropertyNames(e);if(n.length!==i.length)return!1;for(n=n.sort(),i=i.sort(),r=0;r<n.length;r++)if(n[r]!==i[r])return!1;for(r=0;r<n.length;r++){var o=n[r];if(!f(t[o],e[o]))return!1}return!0}return!1}function d(t){var e,r=[],i=n(t);try{for(i.s();!(e=i.n()).done;){var o=e.value;r.push(o)}}catch(t){i.e(t)}finally{i.f()}return r}return{isNumeric:t,isArrayOfStrings:e,isArrayOfNumbers:r,createSequence:i,isSequence:o,isFunction:s,isLambda:l,isIterable:h,getFunctionArity:c,isDeepEqual:f,stringToArray:d}}();e.exports=s},{}]},{},[3])(3)}(Vst);var Xst=Vst.exports;const Kst=function(t){return t};function Qst(t){if(!t)return Kst;try{var e=Xst(t);return function(t){return e.evaluate(t)}}catch(t){return console.error(t),Kst}}function Jst(t){var e=vst(t);return null==e?"":String(e)}function Zst(t){return Number(vst(t))}function tct(t){return t}function ect(t){return Jst(t)}function rct(t){return Zst(t)}function nct(t){if(this.param)return t=Jst(t),this.param.hasOwnProperty(t)?this.param[t]:this.param.default}function ict(t){var{param:e}=this;if(e){for(let r in e){let[n,i]=r.split("~"),o=!!n,a=!!i;if(n=parseFloat(n),i=parseFloat(i),t=Zst(t),o&&!a&&t>=n)return e[r];if(!o&&a&&t<n)return e[r];if(t>=n&&t<i)return e[r]}return e.default}}function oct(t){return Zst(t)*Math.PI/180}function act(){}function sct(t,e,r,n,i){switch(r){case"value":return"text"===i||"string"===i?ect.bind(t):"number"===i?rct.bind(t):tct.bind(e);case"map":return nct.bind(t);case"range":return ict.bind(t);case"radian":return oct.bind(t);case"eval":return function(t){try{return new Function("value","targets",t)}catch(t){return Ost(t),act}}(n).bind(e);default:return tct.bind(e)}}class cct{constructor(t,e){this.owner=e,this.model=t}dispose(){delete this._model,delete this.owner,delete this.evaluator,delete this.accessor,delete this.source}get model(){return this._model}set model(t){var{target:e,property:r,rule:n,param:i,accessor:o}=t;this._model=t,this.evaluator=sct(this,this.owner,n,i,function(t){switch(t){case"ref":case"fillStyle":case"strokeStyle":return"string";default:return}}(r)),this.accessor=Qst(o);const a=e.match(/\[(.*?)\]/);if(a){var[s,c]=a[1].split(":");this.propAccessor=Qst(s),this.partAccessor=Qst(c)}}get target(){return this.model.target}get property(){return this.model.property}get source(){return this.model.source}get param(){return this.model.param}get ndnsp(){return!!this.model.ndnsp}get partial(){return!!this.model.partial}}function lct(t,e,r,n){n?t.forEach(t=>t[e]={...t[e],...r}):t.forEach(t=>t[e]=r)}function uct(t=!1){(t||void 0!==this.data)&&this.mappings&&this.mappings.forEach(t=>{try{var e,{source:r,target:n,property:i,accessor:o,propAccessor:a,partAccessor:s,ndnsp:c=!1,partial:l=!1}=t;r&&"(self)"!=r?(r.startsWith("#")&&(r=r.substring(1)),e=this.root.findById(r)?.data||{}):e=this.data;var u=o(e);if("(root)"==(n=n.trim())||"(key)"==n){if(null==u)return;let e=Object.keys(u||{}).map(t=>this.root.findOrCreate(t)).filter(Boolean).flat();e.length>0&&e.forEach(e=>{let r=t.evaluator(u[e.get("id")],[e]);!i||"(action)"===i||c&&!r&&0!==r&&!1!==r||(e[i]=l?{...e[i],...r}:r)})}else if(n.startsWith("[")){if(null==u)return;if(u instanceof Array)u.forEach(e=>{let r=a(e);if(r){let n=this.root.findOrCreate(r);if(n){let r=t.evaluator(s(e),n);!i||"(action)"===i||c&&!r&&0!==r&&!1!==r||lct(n,i,r,l)}}});else{if(!(u instanceof Object))throw String("mapping data should be an object to target property-id.("+u+")");{let e=a(u);if(e){let r=this.root.findOrCreate(e);if(r){let e=t.evaluator(s(u),r);!i||"(action)"===i||c&&!e&&0!==e&&!1!==e||lct(r,i,e,l)}}}}}else{let e=this.root.findAll(n,this);if(e.length>0){let r=t.evaluator(u,e);!i||"(action)"===i||c&&!r&&0!==r&&!1!==r||lct(e,i,r,l)}}}catch(e){Ost(e,this,t)}})}var hct;function fct(t,e,r,n,i){var{alpha:o=1}=n,a=i.fillStyle;if(t.globalAlpha*=o,a)if("string"==typeof a)t.fillStyle=a,t.fill();else if("object"==typeof a)if("gradient"==a.type){t.translate(r.x,r.y);let n,{width:i,height:o}=e;if("linear"==a.gradientType){let e=3.141592653589793,r=a.rotation;if(r>=.436332&&r<=1.13446||r>=2.00713&&r<=2.70526||r>=3.57792&&r<=4.27606||r>=5.14872&&r<=5.84685){let a=Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((o-4)/2,2));a-=a-(i+o)/3,n=t.createLinearGradient(a*Math.cos(r+e),a*Math.sin(r+e),a*Math.cos(r),a*Math.sin(r))}else n=t.createLinearGradient((i-4)/2*Math.cos(r+e),(o-4)/2*Math.sin(r+e),(i-4)/2*Math.cos(r),(o-4)/2*Math.sin(r))}else if("radial"==a.gradientType){let e=.95*Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((o-4)/2,2));switch(a.center){case"center":default:n=t.createRadialGradient(0,0,0,0,0,e);break;case"left-top":n=t.createRadialGradient(-i/2,-o/2,0,-i/2,-o/2,2*e);break;case"right-top":n=t.createRadialGradient(i/2,-o/2,0,i/2,-o/2,2*e);break;case"left-bottom":n=t.createRadialGradient(-i/2,o/2,0,-i/2,o/2,2*e);break;case"right-bottom":n=t.createRadialGradient(i/2,o/2,0,i/2,o/2,2*e)}}a.colorStops.forEach(t=>{if(t.position>=0&&t.position<=1)try{n.addColorStop(t.position,t.color)}catch(e){Tst("Invalid Color for colorstop : ",t.color),n.addColorStop(t.position,"#fff")}}),t.fillStyle=n,t.fill(),t.translate(-r.x,-r.y)}else if("pattern"==a.type&&a.image)if(a.guideOnly&&1!=i.app.mode)a.color&&(t.fillStyle=a.color,t.fill());else{i.prepareFillIf(!i._pattern_image_origin);var s=i._pattern_image;if(!s)return;let r=0,n=0,o=0,c=0,l=e.left,u=e.top;if(!a.fitPattern){r=a.offsetX,n=a.offsetY;const t=a.width?a.width:s.width,i=a.height?a.height:s.height;switch(a.align){case"center":o=e.width/2-t/2,c=e.height/2-i/2;break;case"left-top":o=0,c=0;break;case"left-bottom":o=0,c=e.height-i;break;case"right-top":o=e.width-t,c=0;break;case"right-bottom":o=e.width-t,c=e.height-i;break;case"left":o=0,c=e.height/2-i/2;break;case"right":o=e.width-t,c=e.height/2-i/2;break;case"top":o=e.width/2-t/2,c=0;break;case"bottom":o=e.width/2-t/2,c=e.height-i}l+=r+o,u+=n+c}t.translate(l,u),a.color&&(t.fillStyle=a.color,t.fill()),a.fitPattern?Math.abs((s.width-e.width)*(s.height-e.height))>1?(delete i._pattern_image,delete i._pattern_image_origin):t.fillStyle=t.createPattern(s,"no-repeat"):t.fillStyle=t.createPattern(s,a.noRepeat?"no-repeat":"repeat"),t.fill(),t.translate(-l,-u)}}function dct(t,e,r){var{strokeStyle:n,lineDash:i,lineWidth:o,lineCap:a,lineJoin:s,alpha:c}=e;if(n&&0!=o){if(a&&(t.lineCap=a),i){var l="round"==a;switch(i){case"solid":i=[0,0];break;case"round-dot":i=l?[0,2*o]:[o,o];break;case"square-dot":i=l?[o,2*o]:[2*o,o];break;case"dash":i=l?[3*o,2.5*o]:[4*o,1.5*o];break;case"dash-dot":i=l?[3*o,3*o,0,3*o]:[4*o,2*o,o,2*o];break;case"long-dash":i=l?[5*o,4*o]:[6*o,3*o];break;case"long-dash-dot":i=l?[5*o,3*o,0,3*o]:[6*o,2*o,o,2*o];break;case"long-dash-dot-dot":i=l?[5*o,2*o,0,2*o,0,2*o]:[6*o,o,o,o,o,o]}t.setLineDash(i)}t.globalAlpha*=c,t.strokeStyle=n,t.lineWidth=o,t.lineJoin=s,t.stroke()}}function pct(t){const e=/(\*\*|__)(.*?)\1|(\*|_)(.*?)\3|([^\*_]+)/g;let r,n=[];for(;null!==(r=e.exec(t));)r[1]?n.push({text:r[2],bold:!0,italic:!1}):r[3]?n.push({text:r[4],bold:!1,italic:!0}):r[5]&&n.push({text:r[5],bold:!1,italic:!1});return n}function gct(t,e,r,n=0){if(e.text.length<2)return e;let i=2;for(;i<e.text.length;i++){const o=e.text.substring(0,i);if(!(t.measureText(o).width+(i-1)*n<r))break}return{...e,text:e.text.substring(0,i-1)}}function vct(t,e,r,n,i,o=0){const a=String(e).split("\n");return n?[].concat.apply([],a.map(e=>function(t,e,r,n=0){const i=[];let o=[],a=0;return e.forEach(e=>{let s=e.text;for(;s.length>0;){const c=r-a,l=t.measureText(s).width+(s.length-1)*n;if(l<=c)o.push({...e,text:s}),a+=l,s="";else{const r=gct(t,{...e,text:s},c,n);o.push(r),i.push(o),o=[],a=0,s=s.substring(r.text.length)}}}),o.length>0&&i.push(o),i}(t,i?pct(e):[{text:e,bold:!1,italic:!1}],r,o))):a.map(t=>i?pct(t):[{text:t,bold:!1,italic:!1}])}function yct(t,e,r,n,i,o,a=0){if(!n)return[];t.save(),t.font=r;var s=vct(t,n,e,!!i,o,a);return t.restore(),s}function mct(t){var{fontFamily:e=Lst.FONT_FAMILY,bold:r=Lst.BOLD,italic:n=Lst.ITALIC,fontSize:i=Lst.FONT_SIZE}=t,o=[];return r&&o.push("bold"),n&&o.push("italic"),o.push(i+"px"),o.push(e),o.join(" ")}function bct(t,e){let r=t.bold||e.bold,n=t.italic||e.italic;return mct({...t,bold:r,italic:n})}function xct(t,e,r,n){var{alpha:i,rotation:o,keepTextAngle:a=!1,fontColor:s=Lst.FONT_COLOR,textAlign:c=Lst.TEXT_ALIGN,textBaseline:l=Lst.TEXT_BASELINE,textBackgroundStyle:u,fontSize:h,lineHeight:f,textWrap:d,textOverflow:p,letterSpacing:g=0}=n;i=void 0!==i?i:1,h||=Lst.FONT_SIZE,f||=1.2*h,t.save();const{left:v,top:y,width:m,height:b}=e;if(o&&a&&(t.translate(v+m/2,y+b/2),t.rotate(-o),t.translate(-(v+m/2),-(y+b/2))),t.beginPath(),t.font=mct(n),!d&&p){const e=function(t,e,r,n){const i="ellipsis"===t?"…":"",o=e.measureText(i).width;let a=[],s=0;for(let i of r){let r=[];for(let c of i){let i=e.measureText(c.text).width;if(!(s+i<=n-("ellipsis"===t?o:0))){let i=wct(e,c,n-s-("ellipsis"===t?o:0),t);return r.push(i),a.push(r),a}r.push(c),s+=i}a.push(r),s=0}return a}(p,t,r,m);r=e}var x,w=r.length*f;switch(l){case"top":x=y,t.textBaseline="top";break;case"bottom":x=y+b-w+f,t.textBaseline="bottom";break;default:x=y+b/2-w/2+f/2,t.textBaseline="middle"}t.globalAlpha*=i,t.fillStyle=s,r.forEach((e,i)=>{let o=x+i*f,a=function(t,e,r,n=0){return e.reduce((e,i)=>(t.font=bct(r,i),e+t.measureText(i.text).width+n*(i.text.length-1)),0)}(t,e,n,g),l=v;switch(c){case"left":case"justify":l=v;break;case"right":l=v+m-a;break;case"center":l=v+(m-a)/2}if(u&&(t.fillStyle=u,function(t,e,r,n,i,o=0,a=!1,s=!0){o="number"==typeof o?{tl:o,tr:o,br:o,bl:o}:{tl:0,tr:0,br:0,bl:0,...o},t.beginPath(),t.moveTo(e+o.tl,r),t.lineTo(e+n-o.tr,r),t.quadraticCurveTo(e+n,r,e+n,r+o.tr),t.lineTo(e+n,r+i-o.br),t.quadraticCurveTo(e+n,r+i,e+n-o.br,r+i),t.lineTo(e+o.bl,r+i),t.quadraticCurveTo(e,r+i,e,r+i-o.bl),t.lineTo(e,r+o.tl),t.quadraticCurveTo(e,r,e+o.tl,r),t.closePath(),a&&t.fill(),s&&t.stroke()}(t,l-4,o-h/2-4,a+8,h+8,4,!0,!1),t.fillStyle=s),"justify"===c&&i<r.length-1&&e.length>1){let r=m-a,i=e.length-1,s=r/i;e.forEach((e,r)=>{t.font=bct(n,e),t.fillText(e.text,l,o),l+=t.measureText(e.text).width+(r<i?s:0)})}else e.forEach(e=>{t.font=bct(n,e),[...e.text].forEach(e=>{t.fillText(e,l,o),l+=t.measureText(e).width+g})})}),t.restore()}function wct(t,e,r,n){let i="";for(let n=0;n<e.text.length;n++){let o=i+e.text[n];if(t.measureText(o).width>r)break;i=o}return{...e,text:i+("ellipsis"===n?"…":"")}}function Act(t,e,r={x:0,y:0},n=0,i={x:1,y:1}){const o=Math.cos(-n),a=Math.sin(-n);return{x:((t-=r.x)*o-(e-=r.y)*a+r.x)/i.x,y:(t*a+e*o+r.y)/i.y}}function _ct(t,e,r={x:0,y:0},n=0,i={x:1,y:1}){const o=Math.cos(n),a=Math.sin(n);return{x:((t-=r.x)*o-(e-=r.y)*a+r.x)*i.x,y:(t*a+e*o+r.y)*i.y}}function Ect(t,e,r){if(!this.parent)return{x:t,y:e};const{rotation:n=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){const r=this.state.translate;let o=Act(t,e,r,n,i);return r&&(o.x-=r.x/i.x,o.y-=r.y/i.y),o}const o=Act(t,e,r=r||this.rotatePoint,n,i);return{x:o.x+(r.x-r.x/i.x),y:o.y+(r.y-r.y/i.y)}}function Sct(t,e,r){if(!this.parent)return{x:t,y:e};let{rotation:n=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){const r=this.state.translate;let o=_ct(t,e,void 0,n+this._delta.theta,i);return r&&(o.x+=r.x,o.y+=r.y),o}r=r||this.rotatePoint;const{theta:o=0,tx:a=0,ty:s=0,sx:c=1,sy:l=1}=this._delta||{};r={x:r.x+a,y:r.y+s},i={x:i.x*c,y:i.y*l};const u=_ct(t+a,e+s,r,n+o,i);return{x:u.x-(r.x*i.x-r.x),y:u.y-(r.y*i.y-r.y)}}function kct(t,e,r){r=r||this.rootModel;const n=[];for(let t=this.parent;t&&t!==r;t=t.parent)n.push(t);let i=this.transcoordS2P(t,e);return n.forEach(t=>{const{scale:e}=t.model,r=t.bounds;if(e){const n=t.rotatePoint;i.x+=(n.x-r.left)*e.x,i.y+=(n.y-r.top)*e.y}else i.x+=r.left,i.y+=r.top;i=t.transcoordS2P(i.x,i.y)}),i}function Mct(t,e,r){const n=this.transcoordT2P(t,e,r);return this.transcoordP2S(n.x,n.y)}function Oct(t,e,r){const n=this.rootModel,i=this.transcoordS2T(t,e,n);return r.transcoordT2S(i.x,i.y,n)}function Tct(t,e,r){if(!r)for(r=this;r&&!r.isLayer();)r=r.parent;const{translate:n={x:0,y:0},scale:i={x:1,y:1},rotation:o=0}=r.model;let a=Act(t,e,n,o,i);return n&&(a.x-=n.x/i.x,a.y-=n.y/i.y),r===this?a:this.transcoordT2S(a.x,a.y,r)}function Pct(t,e,r){if(!r)for(r=this;r&&!r.isLayer();)r=r.parent;let n;if(n=r!==this?this.transcoordS2T(t,e,r):{x:t,y:e},!this.scalable)return n;const{translate:i={x:0,y:0},rotation:o=0,scale:a={x:1,y:1}}=r.model;return n=_ct(n.x,n.y,void 0,o+r._delta.theta,a),i&&(n.x+=i.x,n.y+=i.y),n}function Ict(t){var e=t.element,r=t.fillStyle,n=e.style;if(r)if("string"==typeof r)n.backgroundColor=r;else switch(r.type){case"pattern":if(n.backgroundImage="url("+r.image+")",n.backgroundColor="transparent",r.fitPattern?n.backgroundSize="100% 100%":r.width||r.height?n.backgroundSize=`${r.width?r.width+"px":"auto"} ${r.height?r.height+"px":"auto"}`:n.backgroundSize="contain",r.fitPattern)n.backgroundRepeat="no-repeat";else{const{offsetX:t,offsetY:e,noRepeat:i,align:o,color:a}=r;if(i&&(n.backgroundRepeat="no-repeat"),a&&(n.backgroundColor=a),o)switch(o){case"center":n.backgroundPosition="center center";break;case"left-top":n.backgroundPosition="left top";break;case"left-bottom":n.backgroundPosition="left bottom";break;case"right-top":n.backgroundPosition="right top";break;case"right-bottom":n.backgroundPosition="right bottom";break;case"left":n.backgroundPosition="left center";break;case"right":n.backgroundPosition="right center";break;case"top":n.backgroundPosition="center top";break;case"bottom":n.backgroundPosition="center bottom"}else t||e?n.backgroundPosition=`${Number(t)||0}px ${Number(e)||0}px`:delete n.backgroundPosition}break;case"gradient":n.background=function(t,e){var r=e.colorStops,n=e.gradientType;if(r instanceof Array&&r.length>0)switch(n){case"radial":return"radial-gradient(farthest-corner at "+function(t,e){var{width:r,height:n}=t.bounds;switch(e){case"center":return[r/2,n/2];case"left-top":return[0,0];case"right-top":return[r,0];case"left-bottom":return[0,n];default:return[r,n]}}(t,e.center||"center").map(t=>t+"px").join(" ")+","+r.map(t=>`${t.color} ${100*t.position}%`).join(",")+")";case"linear":return"linear-gradient("+(180*(e.rotation||0)/3.141592653589793+90+"deg")+", "+r.map(t=>`${t.color} ${100*t.position}%`).join(",")+")"}return""}(t,r)}else n.background="transparent"}hct="undefined"==typeof document?function(t,e){return new Canvas(t,e)}:function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,r};const Cct={x:1,y:1},Rct={x:0,y:0},Dct={boxSizing:"border-box",margin:"0px",position:"absolute",outline:"none"};function Lct(t){var{id:e,scale:r=Cct,translate:n=Rct,bold:i,italic:o,fontFamily:a="",textAlign:s,textBaseline:c,textOverflow:l,paddingTop:u,paddingBottom:h,paddingLeft:f,paddingRight:d,fontSize:p=Lst.FONT_SIZE,lineWidth:g=0,lineHeight:v,lineDash:y}=t.state;h||=0,u||=0,f||=0,d||=0;var m=t.state.class;t.text;var{strokeStyle:b,fillStyle:x,rotation:w=0,fontColor:A,hidden:_}=t,{left:E,top:S,width:k,height:M}=t.bounds,O=t.element;if(O.hidden=_,e&&(O.id=e),m&&(O.className=m),Object.assign(O.style,Dct,{fontFamily:a,fontSize:p+"px",width:k+"px",height:M+"px",paddingTop:u+"px",paddingRight:d+"px",paddingBottom:h+"px",paddingLeft:f+"px",border:g+"px",borderColor:b,borderStyle:g>0?y||Lst.LINE_DASH:"",color:A,fontWeight:i?"bold":"",fontStyle:o?"italic":"",textAlign:"end"==s?"right":"start"==s?"left":s,verticalAlign:c,lineHeight:void 0===v?"":v+"px",whiteSpace:l?"nowrap":"",overflow:l?"hidden":"",textOverflow:l||""},t.isIn3DSpace()?{}:{left:E+"px",top:S+"px"}),Ict(t),function(t){if(t.isShadowable()&&t.state.shadow){var e=t.element,{left:r=0,top:n=0,blurSize:i=0,color:o="transparent"}=t.state.shadow;e.style.boxShadow=`${r}px ${n}px ${i}px ${o}`}}(t),!t.isIn3DSpace()){var T=t.delta(),P=(r&&r.x||1)*T.sx,I=(r&&r.y||1)*T.sy,C=(w||0)+T.theta,R=T.tx||0,D=T.ty||0;O.style.transform=`rotate(${C}rad) translate(${R}px, ${D}px) scale(${P}, ${I}) perspective(1px)`}}var jct,Nct=[];function Fct(){jct=null;var t=performance.now(),e=(Nct=Nct.filter(t=>zct(t))).reduce((e,r)=>{let n=t-r.updatedAt;return n>=r.retention?e.kills.push(r):e.next=0==e.next?r.retention-n:Math.min(e.next,r.retention-n),e},{next:0,kills:[]});e.kills.forEach(t=>{let e=Nct.indexOf(t);-1!=e?(Nct.splice(e,1),t.removeSelf(!0)):Ost("Should not be here. Maybe reentrance problem.")}),e.next>0&&(jct=setTimeout(Uct,Math.max(e.next,500)))}function zct(t){return!t.disposed&&t.retention>0&&!t.isTemplate()&&t.app&&t.app.isViewMode}var Uct=cst(function(){requestAnimationFrame(Fct)},500);var Bct=new class{add(t){zct(t)&&-1==Nct.indexOf(t)&&(Nct.push(t),t.touch()),this.touch()}remove(t){var e=Nct.indexOf(t);e>0&&Nct.splice(e,1),this.touch()}touch(){null!==jct&&(clearTimeout(jct),jct=null),Uct()}get length(){return Nct.length}};const $ct=function(t){return t};function Yct(t){var e=t.indexOf("||"),r="",n="";-1!=e&&(r=t,n=t.substring(e+2,t.length-1).trim(),t=t.replace(t.substring(e,t.length-1),"").trim());var i=t.substr(2,t.length-3).trim().replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".").filter(t=>!!t.trim()),o=i.slice(1);return{defaultValue:n,match:t,originText:r||t,target:i[0],accessor:o.length>0?function(t){return o.reduce((t,e)=>t?t[e]:void 0,t)}:$ct}}function Gct(t,e,r){if(t){var n=r||vst,i=String(t),o=(i.match(/#{[^}]*}/gi)||[]).map(t=>Yct(t)),a=(i.match(/\${[^}]*}/gi)||[]).map(t=>Yct(t));if(0!=o.length||0!=a.length)return function(){var t=i;return o.forEach(r=>{let i=n(r.accessor(e.getState(r.target)));t=t.replace(r.originText,void 0===i?r.defaultValue||"":i)}),a.forEach(r=>{let i=e.root.findById(r.target),o=n(r.accessor(i&&i.data));t=t.replace(r.originText,void 0===o?r.defaultValue||"":o)}),t}}}class Hct{constructor(){}static registerDecorator(t,e){Hct.constructors.set(t,e)}static create(t,e,r={},n){const i=Hct.constructors.get(t);if(!i)throw new Error(`unknown decorator type: ${t}`);return new i(n,e,r)}}Hct.constructors=new Map;class Wct{constructor(){this.overlays=new WeakMap}static getInstance(){return Wct.instance||(Wct.instance=new Wct),Wct.instance}addOverlay(t){if(this.overlays.has(t))return!1;const e={element:t,registry:new Map};return this.overlays.set(t,e),!0}removeOverlay(t){if(!this.overlays.has(t))return!1;const e=this.overlays.get(t);for(const[r]of e.registry)this.removeFromOverlay(t,r);return this.overlays.delete(t),!0}addToOverlay(t,e,r,n={}){this.overlays.has(t)||this.addOverlay(t);const i=this.overlays.get(t);i.registry.has(e)||i.registry.set(e,new Map);const o=i.registry.get(e);o.has(r)&&o.get(r).stop();const a=Hct.create(r,e,n,t);return o.set(r,a),a.start(),a}removeFromOverlay(t,e,r){if(!this.overlays.has(t))return;const n=this.overlays.get(t);if(!n.registry.has(e))return;const i=n.registry.get(e);let o=null;if(r){if(i.has(r))try{const t=i.get(r);o=r,t&&"function"==typeof t.stop&&t.stop(),i.delete(r)}catch(t){console.error(`데코레이터(${r}) 제거 중 오류:`,t)}}else{const t=Array.from(i.keys());for(const e of t)try{const t=i.get(e);t&&"function"==typeof t.stop&&t.stop(),i.delete(e)}catch(t){console.error(`데코레이터(${e}) 제거 중 오류:`,t)}o="_all_"}0===i.size&&n.registry.delete(e),!o||"data-spread"!==o&&"_all_"!==o||this.restartBorderAnimations(t,e)}restartBorderAnimations(t,e){if(!this.overlays.has(t))return;const r=this.overlays.get(t);for(const[t,n]of r.registry.entries()){if(e&&t===e)continue;const r=n.get("border-highlighting");if(r)try{"function"==typeof r.invalidate&&r.invalidate();const t=r;"function"==typeof t.startAnimations&&t.options&&t.options.animation&&t.startAnimations()}catch(t){console.error("애니메이션 재시작 중 오류:",t)}}}removeAllFromOverlay(t,e){if(!this.overlays.has(t))return;const r=this.overlays.get(t);if(e)for(const[n]of r.registry)this.removeFromOverlay(t,n,e);else{for(const[t,e]of r.registry)for(const t of e.values())t.stop();r.registry.clear()}}getDecoratorFromOverlay(t,e,r){const n=this.overlays.get(t);return n?.registry.get(e)?.get(r)}getDecoratorsFromOverlay(t,e){const r=this.overlays.get(t);return r&&r.registry.has(e)?Array.from(r.registry.get(e).values()):[]}updateInOverlay(t,e,r,n){const i=this.getDecoratorFromOverlay(t,e,r);i&&i.update(n)}invalidateOverlay(t){if(!this.overlays.has(t))return;const e=this.overlays.get(t),r=Array.from(e.registry.entries());for(const[e,n]of r){if(e.disposed){this.removeFromOverlay(t,e);continue}this.getDecoratorsFromOverlay(t,e).forEach(t=>{t.invalidate()})}}}var qct={};const Vct={mutable:!1,resizable:!0,rotatable:!0,properties:[],"value-property":"text"},Xct=[],Kct={theta:0,tx:0,ty:0,sx:1,sy:1,fade:0};var Qct=0,Jct={};const Zct=new FinalizationRegistry(t=>{!function(t){Qct--;var e=Jct[t];e||(e=Jct[t]={up:0,down:0}),e.down++}(t)});class tlt{static get nature(){return Vct}static register(t,e){if(!e)return qct[t];qct[t]=e}static get residents(){return Jct}static get residentsCount(){return Qct}static registerDecorator(t,e){Wct.registerDecorator(t,e)}constructor(t,e){this._app=e,this._model=t||{},this._state={},this._delta=Xat(Kct),e&&this.animation?.config&&(1==this.animation.config.autoplay||(this.animation.config.autoplay??1))&&(this.animation.started=!0),this.clearCache(),Bct.add(this),function(t){Qct++;var e=Jct[t];e||(e=Jct[t]={up:0,down:0}),e.up++}(t.type),Zct.register(this,t.type)}created(){}added(t){}removed(t){}async ready(){if(this.state.persistent){const{isViewMode:t,dataStorage:e}=this.app;t&&(this.data=await e.load(this))}}touch(){this.updatedAt=performance.now()}clearCache(...t){!function(t,...e){0==e.length?t.__cache__={}:e.forEach(e=>delete t.__cache__[e])}(this,...t)}removeSelf(t){t?this.dispose():this.parent&&this.parent.removeComponent(this)}resetAnimation(){this._animation&&(this._animation.dispose(),this._animation=null,this._delta=Xat(Kct))}dispose(){this.resetAnimation(),this.disposeMappings(),this.parent&&this.parent.removeComponent(this),delete this._text_substitutor,delete this._value_substitutor,this._disposed=!0,this.retention&&Bct.touch(),this.clearCache(),delete this._app}get nature(){return this.constructor.nature}get disposed(){return!!this._disposed}isLayer(){return!1}isGroup(){return!1}isContainer(){return!1}isLine(){return!1}isRoot(){return!1}isRootModel(){return!1}is3dish(){return!1}isIn3DSpace(){return!1}isTemplate(){return!!this.get("templatePrefix")}isHTMLElement(){return!1}isConnectable(){return!1}isIdentifiable(){return!0}isPositionable(){return this.parent?.isRootModel()}replaceRefids(t){}get retention(){return Number(this.get("retention"))||0}get hasTextProperty(){return!0}get position(){return this.app?.isViewMode&&this.isPositionable()?this.state.position??"static":"static"}get origin(){return this.app&&this.app.isViewMode&&this.state.origin||""}get offset(){const{offsetX:t=0,offsetY:e=0}=this.state;return{x:t,y:e}}get scalable(){let t=this.position,e=this;for(;"static"===t&&e.parent;)e=e.parent,t=e.position;return"static"==t}get app(){return!this._app&&this.parent&&(this._app=this.parent.app),this._app}get model(){return this._model}get state(){return Object.assign({},this._model,this._state)}get hierarchy(){var t=Xat(this._model);return this.volatile.forEach(e=>{delete t[e]}),t}get volatile(){return Xct}get textHidden(){return!!this._textHidden}set textHidden(t){this._textHidden=!!t,this.invalidate()}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});var r={},n={},i=!1,o=(t=Xat(t),this);return Object.getOwnPropertyNames(t).forEach(function(e){let a=o._model[e],s=t[e];got(a,s)||(n[e]=a,r[e]=s,o._model[e]=s,delete o._state[e],i=!0)}),i&&(this.clearCache(),r.hasOwnProperty("text")&&delete this._text_substitutor,r.hasOwnProperty("retention")&&Bct.add(this),r.hasOwnProperty("fillStyle")&&this.onchangeFill(r,n),r.hasOwnProperty("mappings")&&this.onchangeMappings(r,n),r.hasOwnProperty("data")&&this.onchangeData(r,n),this.onchange&&this.onchange(r,n),this.trigger("change",r,n)),this}getState(t){return this._state.hasOwnProperty(t)?this._state[t]:this.get(t)}setState(t,e){if("string"==typeof t)return this.setState({[t]:e});var r={},n={},i=!1,o=(t=Xat(t),this),a=this.getState("sensitive");return Object.getOwnPropertyNames(t).forEach(function(e){let s=o.getState(e),c=t[e];!a&&got(s,c)||(n[e]=s,r[e]=c,o._state[e]=c,i=!0)}),i&&(this.clearCache(),r.hasOwnProperty("text")&&delete this._text_substitutor,r.hasOwnProperty("fillStyle")&&this.onchangeFill(r,n),r.hasOwnProperty("data")&&this.onchangeData(r,n),this.onchange&&this.onchange(r,n),this.trigger("change",r,n)),this}get root(){return this.isRoot()?this:this.parent&&this.parent.root}get rootModel(){return this.isRootModel()?this:this.parent&&this.parent.rootModel}get parent(){return this._parent}set parent(t){this._parent=t}get anchors(){return this.nature.anchors||[]}findAnchor(t){return this.anchors.find(e=>e.name===t)}isDescendible(t){return!0}getContext(t){return this._parent.getContext(t??this)}get center(){var t=this.bounds;return{x:t.left+t.width/2,y:t.top+t.height/2}}set center(t){if(t&&!isNaN(t.x)&&!isNaN(t.y)){var e=this.center;if(Math.round(100*t.x)/100!=Math.round(100*e.x)/100||Math.round(100*t.y)/100!=Math.round(100*e.y)/100){var r=t.x-e.x,n=t.y-e.y;this.path=this.path.map(t=>({x:t.x+r,y:t.y+n}))}}}get location(){const{x:t,y:e}=this.center;return{x:t,y:e,z:this.state.zPos}}set location(t){const{x:e,y:r,z:n}=t||{};this.center={x:e,y:r},isNaN(n)||this.setState("zPos",Number(n))}get rotate(){const{rotationX:t,rotationY:e,rotation:r}=this.state;return{x:t,y:e,z:-r}}set rotate(t){const{x:e,y:r,z:n}=t;this.setState({rotationX:e,rotationY:r,rotation:-n})}get dimension(){const{width:t,height:e}=this.bounds,{depth:r}=this.state;return{width:t,height:e,depth:r}}set dimension(t){const{width:e,height:r,depth:n}=t,{top:i,left:o}=this.bounds;this.bounds={top:i,left:o,width:e,height:r},this.setState("depth",n)}get bounds(){var t,e,r,n,i=this.path;t=e=i[0].x,r=n=i[0].y;for(let o=1;o<i.length;o++){let a=i[o];a.x<t?t=a.x:a.x>e&&(e=a.x),a.y<r?r=a.y:a.y>n&&(n=a.y)}return{left:t,top:r,width:e-t,height:n-r}}set bounds(t){var e=this.bounds;if(Math.round(100*t.width)/100!=Math.round(100*e.width)/100||Math.round(100*t.height)/100!=Math.round(100*e.height)/100||Math.round(100*t.left)/100!=Math.round(100*e.left)/100||Math.round(100*t.top)/100!=Math.round(100*e.top)/100){var r=0==e.width?1:t.width/e.width,n=0==e.height?1:t.height/e.height;this.path=this.path.map(i=>({x:t.left+(i.x-e.left)*r,y:t.top+(i.y-e.top)*n}))}}get path(){return Ost("이 컴포넌트에 get path 가 구현되어있지 않음.",this),[]}set path(t){Ost("이 컴포넌트에 get path 가 구현되어있지 않음.",this)}get drawPath(){return this.path}outline(t){return function(t,e){var r=t.path.slice();if(r&&r.length){var n=1,i=[];if(t.isLine()||r.push(r[0]),e<=0)return t.toScene(r[0].x,r[0].y);if(e>=1)return t.toScene(r[r.length-1].x,r[r.length-1].y);for(;r[n];){let t=r[n-1],e=r[n],o=e.x-t.x,a=e.y-t.y;i.push(Math.sqrt(o*o+a*a)),n++}var o=i.reduce(function(t,e){return t+e},0);n=0;var a=0;do{a+=i[n++]}while(a/o<e);e=(e-(a-=i[--n])/o)*(o/i[n]);var s=r[n%r.length],c=r[(n+1)%r.length],l=s.x+Math.round((c.x-s.x)*e),u=s.y+Math.round((c.y-s.y)*e);return t.toScene(l,u)}Ost("path should not be empty")}(this,t||0)}get strokeStyle(){return this.get("strokeStyle")}set strokeStyle(t){this.set("strokeStyle",t)}get fillStyle(){return this.getState("fillStyle")}set fillStyle(t){this.setState("fillStyle",t)}get fontColor(){return this.get("fontColor")}set fontColor(t){this.set("fontColor",String(vst(t)))}get rotation(){return this.getState("rotation")}set rotation(t){this.setState("rotation",Number(vst(t)))}contains(t,e){return!1}get mutable(){return this.nature.mutable}get resizable(){return this.nature.resizable&&!this.stuck}adjustResize(t,e,r){if(r){let e=this.bounds,r=e.height/e.width,n=t.width-e.width,i=t.height-e.height;n*r>i?i=n*r:n=i/r;let o=t.left-e.left,a=t.top-e.top;return 0!=o&&0!=a?(a=-i,o=-n):0!=o?o=-n:0!=a&&(a=-i),{left:e.left+o,top:e.top+a,width:e.width+n,height:e.height+i}}return t}get rotatable(){return this.nature.rotatable&&!this.stuck}adjustRotation(t,e){if(e||this.app.rotateStepForced){let e=this.app.rotateStep;return Math.floor((t+e/2)/e)*e}return t}get capturable(){return!1!==this.get("capturable")&&(this.app.isEditMode||!this.hidden)}get stuck(){return!!(this.parent&&this.parent.layout.isStuck(this)||this.get("locked"))}findFirst(t,...e){if(t(this,...e))return this}findAll(t,...e){return"string"==typeof t?Wst(t,this,e[0]||this):"function"==typeof t&&t(this,...e)?[this]:void 0}capture(t,e,r){if(!this.capturable||r?.(this))return!1;var n=this.fromParent(t,e);return this.contains(n.x,n.y)?this:void 0}prepare(t,e){t(this)}prepareIf(t){t&&this.prepare&&this.prepare(t=>{this.invalidate()},t=>{Ost(t)})}get decotag(){const{id:t,tag:e}=this.state;return(t?`#${t}`:"")+(e?`@${e}`:"")}get decorators(){return this.app.isEditMode?["decotag","data-spread"]:[]}get tag(){return this.state.tag}set tag(t){this.setState("tag",t)}get appendum(){}set appendum(t){this.data instanceof Array?this.data=this.data.concat(t):this.data instanceof Object?this.data={...this.data,...t}:this.data??=t}get hidden(){return this.getState("hidden")||!this.data&&0!==this.data&&this.getState("ndns")||this.isTemplate()}set hidden(t){this.setState("hidden",t)}draw(t){t.save(),this.prerender(t),this.render(t),this.postrender(t),t.restore()}delta(t,e){return t?"object"==typeof t?(this._delta={...this._delta,...t},this._delta):void 0!==e?(this._delta[t]=e,this._delta[t]):void 0:this._delta}prerender(t){var e=this.rotatePoint,{scale:r,rotation:n,shadow:i,alpha:o}=this.state,a=(r&&r.x||1)*this._delta.sx,s=(r&&r.y||1)*this._delta.sy,c=(n||0)+this._delta.theta,{tx:l=0,ty:u=0}=this._delta,h=(o||1)-this._delta.fade;(l||u)&&t.translate(l,u),(1!=a||1!=s||c)&&(t.translate(e.x,e.y),1==a&&1==s||t.scale(a,s),c&&t.rotate(c),t.translate(-e.x,-e.y)),h&&(t.globalAlpha=h),i&&zst(t,i,this),this.app.isEditMode&&this.hidden&&(t.globalAlpha*=.5)}render(t){}postrender(t){this.drawText(t)}drawText(t){!this.textHidden&&this.text&&this.hasTextProperty&&xct(t,this.textBounds,this.textLines(t),this.state)}drawStroke(t,e){dct(t,e?{...this.state,...e}:this.state)}drawFill(t,e){this.fillStyle&&"transparent"!=this.fillStyle&&(fct(t,this.bounds,this.center,e?{...this.state,...e}:this.state,this),function(t){t.shadowColor="transparent"}(t))}animate(t){return this._animate&&this._animate.stop(),this._animate=Aat(t),this._animate}move({x:t,y:e}){var r=this.path,n=t,i=e;this.path=r.map(t=>({x:t.x+n,y:t.y+i}))}symmetryX(t){"number"!=typeof t&&(t=this.center.x);var{rotation:e}=this.state,r=this.fillStyle;if(this.set("rotation",2*Math.PI-e),r&&"gradient"===r.type&&"linear"===r.gradientType){var n=Xat(r);n.rotation=(Math.PI-parseFloat(r.rotation||0))%(2*Math.PI),this.set("fillStyle",n)}this.path=this.path.map(e=>({x:2*t-e.x,y:e.y}))}symmetryY(t){this.symmetryX(),this.set("rotation",(Math.PI+this.model.rotation)%(2*Math.PI)),t&&this.move({x:0,y:2*(t-this.center.y)},!1)}get animation(){if(this.app.isViewMode&&!this.isTemplate()){if(!this._animation){var t=this.state.animation;t&&t.oncreate&&(this._animation=Sat(this,t.oncreate))}return this._animation}}effect(t,e){return function(t,e,r){var n=Ust[r.type];n&&n(t,e,r)}(this,t,e)}get started(){return!!this.animation?.started}set started(t){this.animation&&(this.animation.started=t)}invalidate(){this.parent&&this.parent.invalidate()}get font(){return mct(this.model)}get lineHeight(){var t=this.get("lineHeight");return t||1.2*this.fontSize}defaultTextSubstitutor(){var t=this.getState("text");return null==t?"":String(t)}get textSubstitutor(){return this._text_substitutor||(this._text_substitutor=Gct(this.getState("text"),this)||this.defaultTextSubstitutor),this._text_substitutor}get text(){var t=this.get("textFormat");return t?function(t,e){if(!t||isNaN(+e))return e;var r,n,i,o,a,s,c,l,u,h=t.length,f=t.search(/[0-9\-\+#]/),d=f>0?t.substring(0,f):"",p=t.split("").reverse().join(""),g=p.search(/[0-9\-\+#]/),v=h-g,y=t.substring(v,v+1),m=v+("."===y||","===y?1:0),b=g>0?t.substring(m,h):"";if(r=(e="-"===(t=t.substring(f,m)).charAt(0)?-e:+e)<0?e=-e:0,i=(n=t.match(/[^\d\-\+#]/g))&&n[1]&&n[0]||",",t=t.split("."),e=+(e=e.toFixed(t[1]&&t[1].length))+"",a=t[1]&&t[1].lastIndexOf("0"),(!(c=e.split("."))[1]||c[1]&&c[1].length<=a)&&(e=(+e).toFixed(a+1)),l=t[0].split(i),t[0]=l.join(""),(o=t[0]&&t[0].indexOf("0"))>-1)for(;c[0].length<t[0].length-o;)c[0]="0"+c[0];else 0===+c[0]&&(c[0]="");if((e=e.split("."))[0]=c[0],s=l[1]&&l[l.length-1].length){for(p="",v=(u=e[0]).length%s,h=u.length,m=0;m<h;m++)p+=u.charAt(m),!((m-v+1)%s)&&m<h-s&&(p+=i);e[0]=p}return e[1]=t[1]&&e[1]?"."+e[1]:"","0"!==(n=e.join(""))&&""!==n||(r=!1),d+("+"==t[0].substring(0,1)?r?"-":"+":r?"-":"")+n+b}(t,this.textSubstitutor()):this.textSubstitutor()}set text(t){delete this._text_substitutor;var e=vst(t);this.setState("text",null==e?"":String(e))}textLines(t){const{textWrap:e,supportMarkdown:r}=this.state;return yct(t||this.getContext(),this.textBounds.width,this.font,this.text,e,r)}get textBounds(){var{paddingTop:t,paddingLeft:e,paddingRight:r,paddingBottom:n}=this.state;n||=0,t||=0,e||=0,r||=0;var{left:i,top:o,width:a,height:s}=this.bounds;return{left:i+e,top:o+t,width:Math.max(a-e-r,0),height:Math.max(s-t-n,0)}}get textRotation(){return 0}get rotatePoint(){return this.center}trim(){delete this._model[""],"chartjs"!==this._model.type&&delete this._model.chart}get value(){var t=this.nature["value-property"]||"text";return"value"==t?this.getState("value"):this[t]}set value(t){var e=this.nature["value-property"]||"text";"value"==e?this.setState("value",t):this[e]=t}get data(){return this.getState("data")}set data(t){this.setState("data",t),this.touch()}set tap(t){var e=this.model.event?.tap;if(e){const{cx:t,cy:r}=this.center;this.rootModel?._doEventAction(e,this,!0,new CustomEvent("click",{offsetX:t,offsetY:r}))}}get mappings(){return!this._mappings&&this.parent&&this.buildMappings(),this._mappings}serialize(...t){return JSON.stringify(this.hierarchy,...t)}get controls(){}closeScene(t){this.rootModel.closeScene(t)}}tlt.union=function(t){var e,r,n,i;return t.forEach(t=>{void 0===e?(e=t.left,r=t.top,n=t.left+t.width,i=t.top+t.height):(e=Math.min(t.left,e),r=Math.min(t.top,r),n=Math.max(t.left+t.width,n),i=Math.max(t.top+t.height,i))}),{left:e,top:r,width:n-e,height:i-r}},tlt.transcoordR=Act,tlt.transcoordRR=_ct,tlt.createCanvas=hct,tlt.memoize=Ist,tlt.mixin=Mst,tlt.drawText=xct,tlt.font=mct,tlt.textLines=yct,tlt.drawStroke=dct,tlt.drawFill=fct,tlt.reposition=Lct,tlt.RetentionManager=Bct,tlt.template=function(t,e,r){var n=oat.imports._.templateSettings||oat;r&&Tot(t,e,r)&&(e=void 0),t=rat(t),e=Dot({},e,n,Wot);var i,o,a=Dot({},e.imports,n.imports,Wot),s=Git(a),c=function(t,e){return Yot(e,function(e){return t[e]})}(a,s),l=0,u=e.interpolate||hat,h="__p += '",f=RegExp((e.escape||hat).source+"|"+u.source+"|"+(u===Xot?uat:hat).source+"|"+(e.evaluate||hat).source+"|$","g"),d=dat.call(e,"sourceURL")?"//# sourceURL="+(e.sourceURL+"").replace(/\s/g," ")+"\n":"";t.replace(f,function(e,r,n,a,s,c){return n||(n=a),h+=t.slice(l,c).replace(fat,Vot),r&&(i=!0,h+="' +\n__e("+r+") +\n'"),s&&(o=!0,h+="';\n"+s+";\n__p += '"),n&&(h+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),l=c+e.length,e}),h+="';\n";var p=dat.call(e,"variable")&&e.variable;if(p){if(lat.test(p))throw new Error("Invalid `variable` option passed into `_.template`")}else h="with (obj) {\n"+h+"\n}\n";h=(o?h.replace(aat,""):h).replace(sat,"$1").replace(cat,"$1;"),h="function("+(p||"obj")+") {\n"+(p?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var g=$ot(function(){return Function(s,d+"return "+h).apply(void 0,c)});if(g.source=h,Bot(g))throw g;return g},tlt.buildSubstitutor=Gct,Object.assign(tlt.prototype,{drawEffect:function(t){const{effects:e}=this.state;(e||[]).forEach(e=>{this.effect(t,e)})},prepareFill:function(t,e){var r=this.fillStyle;if(r&&"pattern"==r.type&&r.image){if("string"!=typeof r.image)return this._pattern_image_origin=this._pattern_image=r.image,void t(this);this._pattern_image=null,this._pattern_image_origin=new Image;var n=this;this._pattern_image_origin.onload=function(){if(!r.fitPattern&&!r.width&&!r.height)return n._pattern_image=n._pattern_image_origin,void t(this);let e=r.width||this.width,i=r.height||this.height;r.fitPattern&&(e=n.bounds.width,i=n.bounds.height);let o=hct(e,i);o.getContext("2d").drawImage(this,0,0,this.width,this.height,0,0,e,i),n._pattern_image=o,t(this)},this._pattern_image_origin.onerror=function(t){e(t)};try{"data"!==String(r.image).substring(0,4)?this._pattern_image_origin.crossOrigin="use-credentials":this._pattern_image_origin.crossOrigin=null,this._pattern_image_origin.src=this.app.url(r.image)}catch(t){e(t)}}else t(this)},prepareFillIf:function(t){t&&this.prepareFill(t=>{this.invalidate()},t=>{Ost(t)})},onchangeFill:function(t,e){var r=this.fillStyle;r&&"pattern"!==r.type?this._pattern_image&&(this._pattern_image=null,this._pattern_image_origin=null):r?.image&&this.prepareFillIf(r.image)},drawImage:function(t,e,r,n,i,o){e.complete?t.drawImage(e,r,n,i,o):e.addEventListener("load",()=>{this.invalidate()})},mutateBounds:function(t,e){var r=this.bounds,n=this.rotatePoint,i=this.get("rotation"),o=this.get("scale");if(t){var a=t.call(e,r);a&&(r=a)}var{left:s,top:c,width:l,height:u}=r,h=[{x:s,y:c},{x:s+l,y:c+u}],f=(h=h.map(t=>_ct(t.x,t.y,n,i,o)))[0],d=h[1];n={x:(f.x+d.x)/2,y:(f.y+d.y)/2},f=(h=h.map(t=>Act(t.x,t.y,n,i,o)))[0],d=h[1],this.bounds={left:f.x,top:f.y,width:d.x-f.x,height:d.y-f.y}},mutatePath:function(t,e,r){var n=this.path,i=this.rotatePoint;this.get("rotation"),this.get("scale"),t&&(n=t.call(r,n));var o=n.map(t=>this.toParent(t.x,t.y));e&&(n=e.call(r,o))&&(o=n);var a,s,c,l,u={x:0,y:0};a=s=(n=o.map(t=>this.fromParent(t.x,t.y,u)))[0].x,c=l=n[0].y;for(let t=1;t<n.length;t++){let e=n[t];e.x<a?a=e.x:e.x>s&&(s=e.x),e.y<c?c=e.y:e.y>l&&(l=e.y)}i={x:(a+s)/2,y:(c+l)/2},i=this.toParent(i.x,i.y,u),this.path=o.map(t=>this.fromParent(t.x,t.y,i))},access:function(t){if(t){var e=String(t),r=(e.match(/#{(\S*)}/)||[]).map(t=>Yct(t))[0];if(r)return r.accessor(this.getState(r.target));var n=(e.match(/\${[^}]*}/)||[]).map(t=>Yct(t))[0];if(n){let t=this.root.findById(n.target);return n.accessor(this.getState(t))}return t}},substitute:function(t,e){if(t){var r=String(t),n=e||vst,i=(r.match(/#{(\S*)}/gi)||[]).map(t=>Yct(t)),o=(r.match(/\${[^}]*}/gi)||[]).map(t=>Yct(t));if(0==i.length&&0==o.length)return r;var a=r;return i.forEach(t=>{let e=n(t.accessor(this.getState(t.target)));a=a.replace(t.match,void 0===e?"":e)}),o.forEach(t=>{let e=this.root.findById(t.target),r=n(t.accessor(e&&e.data));a=a.replace(t.match,void 0===r?"":r)}),a}},onchangeMappings:function(t,e){this.disposeMappings(),uct.call(this)},onchangeData:function(t,e){this.state.persistent&&this.app?.isViewMode&&this.app?.dataStorage.save(this,t.data),uct.call(this,[!0])},buildMappings:function(){if(this._model.mappings)return!this._model.mappings instanceof Array?(Ost("Mappings model is invalid (should be a Array) ..",this._model.mappings),void(this._mappings=[])):void(this._mappings=(this._model.mappings||[]).filter(t=>t.rule&&t.target).map(t=>new cct(t,this)));this._mappings=[]},executeMappings:uct,disposeMappings:function(){this._mappings&&this._mappings.forEach(t=>t.dispose()),delete this._mappings},ondropfile:function(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("image/"))return void this.set("fillStyle",{type:"pattern",image:e[r],fitPattern:!0})},transcoordS2P:Sct,transcoordP2S:Ect,transcoordS2T:kct,transcoordT2P:function(t,e,r){r=r||this.rootModel;const n=[];for(let t=this.parent;t&&t!==r;t=t.parent)n.splice(0,0,t);let i={x:t,y:e};return n.forEach(t=>{const{scale:e}=t.model;i=t.transcoordP2S(i.x,i.y);const r=t.bounds;if(e){const n=t.rotatePoint;i.x-=(n.x-r.left)/e.x,i.y-=(n.y-r.top)/e.y}else i.x-=r.left,i.y-=r.top}),i},transcoordT2S:Mct,transcoordS2TR:function(t,e,r){r=r||this.rootModel;const n=this.transcoordS2T(t,e,r);return _ct(n.x,n.y,void 0,(r.get("rotation")||0)+r._delta.theta)},transcoordS2O:Oct,transcoordC2S:Tct,transcoordS2C:Pct,toParent:Sct,fromParent:Ect,toScene:kct,fromScene:Mct,toLocal:Tct,toGlobal:Pct,toOther:Oct}),["rotatePoint","font","lineHeight","retention"].forEach(t=>tlt.memoize(tlt.prototype,t,!1)),["bounds","center","textBounds"].forEach(t=>tlt.memoize(tlt.prototype,t,!0)),tlt.mixin(tlt.prototype,Ast.withEvent);class elt extends tlt{set rotationX(t){this.setState("rotationX",t)}get rotationX(){return this.getState("rotationX")}set rotationY(t){this.setState("rotationY",t)}get rotationY(){return this.getState("rotationY")}set rotationZ(t){this.setState("rotation",t)}get rotationZ(){return this.getState("rotation")}set zPos(t){this.setState("zPos",t)}get zPos(){return this.getState("zPos")}set depth(t){this.setState("depth",t)}get depth(){return this.getState("depth")}postrender(t){this.drawFill(t),this.drawStroke(t),super.postrender(t)}render(t){var e=this.drawPath,{round:r=0}=this.state;if(!(e.length<=1)){t.beginPath();for(var n=0;n<e.length;n++){const c=e[(n-1+e.length)%e.length],l=e[(n+e.length)%e.length],u=e[(n+1)%e.length];if(c.x===l.x&&c.y===l.y)continue;var i=0!==(s=Math.sqrt((c.x-l.x)*(c.x-l.x)+(c.y-l.y)*(c.y-l.y)))?Math.atan2(c.x-l.x,c.y-l.y):0,o=Math.sin(i)*Math.min(r,s/2)+l.x,a=Math.cos(i)*Math.min(r,s/2)+l.y;const h=r>0||0!==s?{x:o,y:a}:l;var s;i=0!==(s=Math.sqrt((u.x-l.x)*(u.x-l.x)+(u.y-l.y)*(u.y-l.y)))?Math.atan2(u.x-l.x,u.y-l.y):0,o=Math.sin(i)*Math.min(r,s/2)+l.x,a=Math.cos(i)*Math.min(r,s/2)+l.y;const f=r>0||0!==s?{x:o,y:a}:l;0==n?t.moveTo(h.x,h.y):t.lineTo(h.x,h.y),r>0&&t.quadraticCurveTo(l.x,l.y,f.x,f.y)}t.closePath()}}}function rlt(t,e,r){return Math.max(0,Math.min(t,Math.min(r,e)/2))}var nlt=t=>{var e=class extends t{contains(t,e){var{left:r,top:n,width:i,height:o,lineWidth:a=0}=this.state,s=a/2;return t<Math.max(r+i,r)+s&&t>Math.min(r+i,r)-s&&e<Math.max(n+o,n)+s&&e>Math.min(n+o,n)-s}set path(t){var e=t[0],r=t[2];this.set({left:e.x,top:e.y,width:r.x-e.x,height:r.y-e.y})}get path(){var{left:t=0,top:e=0,width:r=0,height:n=0}=this.state;return[{x:t,y:e},{x:t+r,y:e},{x:t+r,y:e+n},{x:t,y:e+n}]}get anchors(){return function(t){var{left:e,top:r,width:n,height:i}=t.bounds,o=e+n/2,a=r+i/2;return[{name:"TOP",position:{x:o,y:r}},{name:"RIGHT",position:{x:e+n,y:a}},{name:"BOTTOM",position:{x:o,y:r+i}},{name:"LEFT",position:{x:e,y:a}}]}(this)}get bounds(){const{left:t=0,top:e=0,width:r=0,height:n=0}=this.state;return{left:t,top:e,width:r,height:n}}set bounds(t){this.set({left:0,top:0,width:0,height:0,...t})}render(t){var{round:e=0}=this.model,{left:r,top:n,width:i,height:o}=this.bounds;t.translate(r,n),t.beginPath(),(e=rlt(e,i,o))>0?t.roundRect(0,0,i,o,e):t.rect(0,0,i,o),t.translate(-r,-n)}};return Ist(e.prototype,"path",!1),e};const ilt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"textarea",label:"front-side-template",name:"frontSideTemplate",property:{language:"html"}},{type:"textarea",label:"back-side-template",name:"backSideTemplate",property:{language:"html"}},{type:"textarea",label:"style",name:"style",property:{language:"css"}}],help:"scene/component/info-window"};const olt=20;function alt(t,e){var r=t.split(/\s+/),n=r.indexOf(e);return-1!=n?r.splice(n,1):r.splice(-1,0,e),r.join(" ")}class slt extends(nlt(elt)){static get image(){return slt._image||(slt._image=new Image,slt._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAY1BMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAbxiAAAAIHRSTlMA+gPshCwwWFzYCeLRm7QRG6rLeDZI9JOJJDtjb1HAf1sAT80AAAQQSURBVHhe7MCBAAAAAMKw/KkzOMG2BAAAAKeu3lUohIEggO7jQi5qHqpgwML5/6+0F0y02z31FlvMMLKt86QMQ1ined2Evih1hFFjLfRWjgzDOGZ6JSiM00B9EuHALtQxJLiQBmqSBCeSUEuEGzs1BDjSaHxWOKK5Eyz/4SoMV/hp4+vtcPkdwZD/udwevNg7t1xXYRiKmkB7C+ENlPLq8fxHeX+RGjWQ1D45ldcIulBIvCvYJGBEadyTzxAcfY57NBjpLScOO/bzugcTHe7IMwiSLMcdHZhocMcMgTLjjgZM7F1bCJZ2v27ARGzYDwIk2Z+JYGJ/iiwQLMv+JAEThjkmRG64Q0Q+gIiIiIiIiIiIyFy0KRFt0bOJZAWSUigmkQaJaXhENiRnYBEpkZySRSRGcmIWEaQnYhHRSI5mESmQnIJFZIqQmGhiEYEbEnPjGlEGjYTogW/WUkOXENENSqZfEXmDiIiIiIiIiIiIiIiIiIiImq5ETIpRpBpjJCMeKy6Ri0ZS9MQjkmkkJs1YRDokp2MRyZGclkUkQnIiEQltaX3Lzb6yiGTpl2y/avqSAxGgelCOKI+Kc2isL0TUSsZ4EREREREREREREREREREREfnIQzXrNWSRTeNxnlOwIgueIr6AAyE+CpiqMEUK71IDO4E+LluEKYKnKcMUifEsTZgiJZ5lDVNkwJPcqzBFoPF/HplfxL/w6b4EPGv1h18Weya1TL8iIiIeiIiIiIiIiEjkPefxV+5YA9PPHylB+u5aqgZ39H+jKOxrqtu+pkzvr9YbzoZ6w2OFkzcrA3yE4WZlSSyFk54VoA/wR43+FaD+r9w32QdWvgvjp2ty2xq8qHPHmtyPFxfrK3hw1ejERlAlfR/Ame2OTow05d4rOLLSlHtDVhI0uRO01JeZ405op6zgNNXT+bIRfpIgn+AkU4pOxBscohojdCHu4RRzjC5EYwVHqRONDkSnEvK/CB3QSU32IRW3ZPnj9iEVoGCNTLVrh8ia1x+6wq8xvB5mz8pxu7oPwIn9lcR0AiuX1+1KX+BXqdvXzWsAC0NsGjzZsS/2Bd6yRA5RgIHkXNhSD3whASZ8rrB9mItuEAizac0fDlHxDMEwpQfD1tW4y3Hjfy5s9nOHH3uwWA+EqEJBWCjoTL/S5toBB/7hu6zer74NgqSP39zJU+qQX3ix763mHTqvIVRUVprCljlElRkEjBqNYevH8veBJ2xhiyhE8YctmhDFH7ZoQhR/2KIJUfxhiyRE8YctmhDFH7ZoQhR/2OIJUfxhC9Ppf/t1jgJACERRsHGyYRZB0Ujvf0xD8w6kP7y6RZmgf/oTFTtbbzJVxZWo2Nlqw6TVy5GowNl6ssm7v50obamfSxQAAAAAAAsKLM15fb3vpQAAAABJRU5ErkJggg=="),slt._image}static toggle(t,e,r,n){if(e){var i=t.root.findById(e);i?i._findInfoWindowByComponent(t)?slt.hide(t,e):slt.show(t,e,r,n):console.warn("InfoWindow Not Found.",e)}else console.warn("InfoWindow not defined.")}static hide(t,e){if(e){var r=t.root.findById(e);r?r._removeInfoWindow(t):console.warn("InfoWindow Not Found.",e)}}static show(t,e,r,n){if(e){var i=t.root.findById(e);if(i){if(!i._findInfoWindowByComponent(t)){var{frontSideTemplate:o="",backSideTemplate:a=""}=i.model,s=[o,a].filter(t=>String(t).trim());if(s=s.map(t=>tlt.template(function(t,e,r){return(e||r?['<div class="info-window-btns">',e?'<button class="closable">X</button>':"",r?'<button class="flipable">⇌</button>':"","</div>"]:[]).concat(['<div class="info-window-content">',t,"</div>"]).join("")}(t,!r,2==s.length))),0!=s.length){var c='\n.flip {\n backface-visibility: hidden;\n border-radius: 7px;\n height: auto;\n font: normal 14px helvetica, arial, san serif;\n position: absolute;\n opacity: 0.9;\n transform-origin: 50% 50% 0px;\n transition: all 2s;\n min-width: 100px;\n min-height: 50px;\n background-color: #3e424e;\n box-shadow: 2px 3px 2px 0px rgba(0,0,0,0.15);\n}\n\n#side-1 {\n transform: rotateY(0deg);\n}\n\n.flip:after {\n content: "";\n display: block;\n position: absolute;\n opacity: 0.9;\n width: 0;\n height: 0;\n}\n\n.flip.arrow-top:after {\n left: 45%;\n top: -17px;\n border-left: 10px solid transparent;\n border-bottom: 18px solid #323b44;\n border-right: 10px solid transparent;\n}\n\n.flip.arrow-right:after {\n left: 100%;\n top: 48%;\n border-top: 10px solid transparent;\n border-left: 18px solid #323b44;\n border-bottom: 10px solid transparent;\n}\n\n.flip.arrow-bottom:after {\n left: 45%;\n top: 100%;\n border-left: 10px solid transparent;\n border-top: 18px solid #323b44;\n border-right: 10px solid transparent;\n}\n\n.flip.arrow-left:after {\n right: 100%;\n top: 48%;\n border-top: 10px solid transparent;\n border-right: 18px solid #323b44;\n border-bottom: 10px solid transparent;\n}\n\n#side-2 {\n transform: rotateY(180deg);\n}\n\n.flip-side-1 {\n transform: rotateY(0deg) !important;\n}\n\n.flip-side-2 {\n transform: rotateY(180deg) !important;\n}\n\n.info-window-btns {\n position: absolute;\n top: -18px;\n right: 5px;\n overflow: hidden;\n}\n\n.info-window-content {\n padding: 10px;\n color: #efefef;\n font-size: 13px;\n line-height: 1.4;\n}\n\n.info-window-btns button {\n width: 40px;\n height: 40px;\n float: right;\n border: 0;\n border-radius: 50%;\n background-color: #2a7da1;\n margin-right: 3px;\n text-align: center;\n cursor: pointer;\n font-size: 35px;\n color: #fff;\n line-height: 0;\n}\n\n.info-window-btns button:hover {\n background-color: #60bb23;\n}\n'+i.get("style"),{left:l,top:u}=t.bounds,{x:h,y:f}=n?t.rootModel.toLocal(n.x,n.y):t.toScene(l,u);l=h,u=f;var d=document.createElement("span");d.style.position="absolute";var p=document.createElement("style");if(p.type="text/css",p.appendChild(document.createTextNode(c)),d.appendChild(p),s[0]){var g=document.createElement("div");g.id="side-1",g.className="flip",g.style.display="inline-block",g.innerHTML=s[0](t)}if(s[1]){var v=document.createElement("div");v.id="side-2",v.className="flip",v.style.display="inline-block",v.innerHTML=s[1](t)}Rst.forEach(function(t){d.addEventListener(t,function(t){t.stopPropagation()})}),Dst.forEach(function(t){d.addEventListener(t,function(t){t.stopPropagation()})});var y=t.rootModel.getOverlay(t);if(g&&d.appendChild(g),v&&d.appendChild(v),y.appendChild(d),i._addInfoWindow(t,d,p),g){let r=g.querySelector(".info-window-btns > .flipable");r&&r.addEventListener("click",function(t){t.preventDefault(),v.className=alt(v.className,"flip-side-1"),g.className=alt(g.className,"flip-side-2")},!1);let n=g.querySelector(".info-window-btns > .closable");n&&n.addEventListener("click",function(r){r.preventDefault(),slt.hide(t,e)},!1)}if(v){let r=v.querySelector(".info-window-btns > .flipable");r&&r.addEventListener("click",function(t){t.preventDefault(),v.className=alt(v.className,"flip-side-1"),g.className=alt(g.className,"flip-side-2")},!1);let n=v.querySelector(".info-window-btns > .closable");n&&n.addEventListener("click",function(r){r.preventDefault(),slt.hide(t,e)},!1)}var m=g.offsetWidth,b=g.offsetHeight;window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var x=t.rootModel.target.getBoundingClientRect(),w=[];g&&w.push(g),v&&w.push(v);var A={x:l,y:u},_=t.toGlobal(A.x,A.y);if(_.x+m/2+x.left<x.right&&_.x-m/2>x.left){if(b+olt<_.y)return d.style.marginLeft=A.x-m/2+"px",d.style.marginTop=A.y-b-olt+"px",void w.forEach(t=>t.className+=" arrow-bottom");if(_=t.toGlobal(A.x,A.y+b+olt),x.bottom>_.y+x.top)return d.style.marginLeft=A.x-m/2+"px",d.style.marginTop=A.y+olt+"px",void w.forEach(t=>t.className+=" arrow-top")}if((_=t.toGlobal(A.x,A.y)).x-(m+olt)>x.left)return d.style.marginLeft=A.x-m-olt+"px",d.style.marginTop=A.y-b/2+"px",void w.forEach(t=>t.className+=" arrow-right");d.style.marginLeft=A.x+olt+"px",d.style.marginTop=A.y-b/2+"px",w.forEach(t=>t.className+=" arrow-left")}}}else console.warn("InfoWindow Not Found.",e)}else console.warn("InfoWindow not defined.")}dispose(){this.infoWindows.map(t=>t.component).forEach(t=>this._removeInfoWindow(t)),super.dispose()}get infoWindows(){return this._windows||(this._windows=[]),this._windows}_findInfoWindowByComponent(t){return this.infoWindows.find(e=>e.component===t)}_addInfoWindow(t,e,r){this._findInfoWindowByComponent(t)||this._windows.push({component:t,window:e,styleElement:r})}_removeInfoWindow(t){var e=this._findInfoWindowByComponent(t);if(!e)return;let r=e.window;r&&r.parentNode.removeChild(r);var n=this.infoWindows.lastIndexOf(e);this.infoWindows.splice(n,1)}render(t){var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),this.drawImage(t,slt.image,e,r,n,i)}get hasTextProperty(){return!1}get nature(){return ilt}}tlt.register("info-window",slt);const clt={};var llt={list:function(){return{...clt}},register:function(t,e){clt[t]=e},unregister:function(t){delete clt[t]},get:function(t){if(t){var e=clt[t];return e||Ost("Layout Not Found - ",t),e}}};const ult=new class{constructor(){this.ABSOLUTE=!0}reflow(t,e){this.drawables(t).filter(t=>t.isHTMLElement()).forEach(t=>t.reposition())}capturables(t){return t.components}drawables(t){return t.app&&!t.app.isViewMode?t.components:t.components.filter(t=>!t.hidden)}isStuck(t){return!1}};llt.register("html-absolute",ult);const hlt=20;function flt(t,e="static",r,n,i,o,a={}){const{title:s="",gap:c=hlt}=a;if("auto"===r){const{x:e,y:r}=function(t,e,r,n="",i=hlt){const o=Math.max(e.width/4-r.width/2,i),a=Math.min(3*e.width/4+r.width/2,e.width-i)-r.width,s=Math.max(e.height/4-r.height/2,i),c=Math.min(3*e.height/4+r.height/2,e.height-i)-r.height+(n?-30:0);return{x:t.x<e.width/2?Math.min(a,t.x+20):Math.max(o,t.x-(r.width+20)),y:t.y<e.height/2?Math.min(c,t.y+20+(n?30:0)):Math.max(s,t.y-(r.height+20))}}(n,i,o,s,c);Object.assign(t.style,{position:"absolute",left:`${e}px`,top:`${r}px`})}else"static"===e?function(t,e,r,n,i){const o=t.style,a=e.includes("left")?i:e.includes("right")?r.width-n.width-i:r.width/2-n.width/2,s=e.includes("top")?i:e.includes("bottom")?r.height-n.height-i:r.height/2-n.height/2;Object.assign(o,{left:`${a}px`,top:`${s}px`})}(t,r,i,o,c):function(t,e,r=hlt){const n=t.style;switch(Object.assign(n,{position:"absolute",left:"",right:"",top:"",bottom:"",transform:""}),e){case"center-middle":default:Object.assign(n,{left:"50%",top:"50%",transform:"translate(-50%, -50%)"});break;case"center-top":Object.assign(n,{left:"50%",top:`${r}px`,transform:"translateX(-50%)"});break;case"center-bottom":Object.assign(n,{left:"50%",bottom:`${r}px`,transform:"translateX(-50%)"});break;case"left-middle":Object.assign(n,{left:`${r}px`,top:"50%",transform:"translateY(-50%)"});break;case"right-middle":Object.assign(n,{right:`${r}px`,top:"50%",transform:"translateY(-50%)"});break;case"left-top":Object.assign(n,{left:`${r}px`,top:`${r}px`});break;case"right-top":Object.assign(n,{right:`${r}px`,top:`${r}px`});break;case"left-bottom":Object.assign(n,{left:`${r}px`,bottom:`${r}px`});break;case"right-bottom":Object.assign(n,{right:`${r}px`,bottom:`${r}px`})}}(t,r,c)}function dlt(t,e,r={sx:1,sy:1}){let n,i,o=0,a=0,s=!1;const c=/translate\(([-\d.]+)px,\s*([-\d.]+)px\)/;function l(){const e=(t.style.transform||"").match(c);return{x:e?parseFloat(e[1]):0,y:e?parseFloat(e[2]):0}}function u(t,e){s=!0;const r=l();o=r.x,a=r.y,n=t,i=e}function h(e,c){if(!s)return;const l=e-n,u=c-i,{sx:h,sy:f}=r;!function(e,r){t.style.transform=`translate(${e}px, ${r}px)`}(o+l/h,a+u/f)}function f(){const t=l();o=t.x,a=t.y,s=!1}e?.addEventListener("mousedown",t=>{t.preventDefault(),t.stopPropagation(),u(t.clientX,t.clientY);const e=t=>{t.preventDefault(),h(t.clientX,t.clientY)},r=t=>{t.preventDefault(),f(),window.removeEventListener("mousemove",e,!0),window.removeEventListener("mouseup",r,!0)};window.addEventListener("mousemove",e,!0),window.addEventListener("mouseup",r,!0)}),e?.addEventListener("touchstart",t=>{if(1!==t.touches.length)return;t.preventDefault(),t.stopPropagation(),u(t.touches[0].clientX,t.touches[0].clientY);const e=t=>{1===t.touches.length&&(t.preventDefault(),h(t.touches[0].clientX,t.touches[0].clientY))},r=t=>{f(),window.removeEventListener("touchmove",e,!0),window.removeEventListener("touchend",r,!0),window.removeEventListener("touchcancel",r,!0)};window.addEventListener("touchmove",e,!0),window.addEventListener("touchend",r,!0),window.addEventListener("touchcancel",r,!0)})}const plt=["run","goto","goto-playlist","link-open","link-move","route-page","start-scenario","run-scenario","export-data","import-data"];const glt=new WeakMap;function vlt(t){const e=t.root,r=glt.get(e);if(!r)return;if(e===t)return r.forEach(t=>vlt(t[0])),void glt.delete(e);const n=r.findIndex(e=>e[0]===t);if(-1===n)return;const i=r[n][1];i.div.parentNode?.removeChild(i.div),i.scene.target=null,i.scene.release?.(),r.splice(n,1)}class ylt{static hideAll(t){(glt.get(t)||[]).forEach(([t])=>vlt(t))}static hide(t){const e=t.root,r=glt.get(e);if(!r)return;const n=r.findIndex(e=>e[0]===t);if(-1===n)return;const i=r[n][1];i.div.style.backgroundColor="transparent",function(t,e){t.style.opacity=1;const r=(t.style.transform||"").replace(/scale\([^)]+\)/,"").trim();t.style.transform=`${r} scale(1)`;const n=Date.now(),i=()=>{const o=Math.min((Date.now()-n)/200,1);t.style.opacity=1-o,t.style.transform=`${r} scale(${1-o})`.trim(),o<1?requestAnimationFrame(i):(t.style.display="none",e&&e())};i()}(i.div,()=>{vlt(t)})}static show(t,e,r={}){const{data:n,modal:i=!1,closable:o=!0,minimizable:a=!1,draggable:s=!1,output:c=!0,popupPosition:l="static",origin:u="center-middle",title:h=""}=r,f=t.app.refProvider,d=!l||"static"===l;f?.get(e,!0).then(e=>{const r=document.createElement("div");r.setAttribute("popup",""),"absolute"==l&&(r.style.zIndex="100");const f=r.style;if(i){const{width:e,height:r}=d?t.rootModel.bounds:t.rootModel.auxOverlay.getBoundingClientRect();Object.assign(f,{position:"absolute",zIndex:"100",left:0,top:0,width:d?`${e}px`:"100%",height:d?`${r}px`:"100%",overflow:"hidden",backgroundColor:"transparent"})}else Object.assign(f,{position:"absolute",display:"inline-block"});r.innerHTML=h?'\n<div class="popup-wrap">\n <div class="popup-translate">\n <div class="popup-title-bar">\n <div class="popup-title"></div>\n <div class="popup-buttons-wrap">\n <button class="closable">close</button>\n <button class="minimizable">minimize</button>\n <button class="draggable">drag_pan</button>\n </div>\n </div>\n <div class="popup-content"></div>\n </div>\n</div>\n':'\n<div class="popup-wrap">\n <div class="popup-translate">\n <div class="popup-buttons-wrap float-right">\n <button class="closable">close</button>\n <button class="minimizable">minimize</button>\n <button class="draggable">drag_pan</button>\n </div>\n <div class="popup-content">\n </div>\n </div>\n</div>\n';const p=r.querySelector(".popup-content"),{width:g,height:v}=e.root.model;Object.assign(p.style,{width:`${g}px`,height:`${v}px`});const y=document.createElement("style");y.appendChild(document.createTextNode("\n\n.popup-wrap .popup-translate {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n min-width: 120px;\n overflow: hidden;\n transition: height 0.5s ease;\n}\n\n.popup-wrap .popup-translate > * {\n pointer-events: auto;\n}\n\n.popup-wrap .popup-content {\n background-color: var(--md-sys-color-surface, white);\n}\n\n.popup-wrap .popup-title-bar {\n display: flex;\n align-items: center;\n top: 0;\n left: 0;\n width: 100%;\n height: 30px;\n background-color: var(--md-sys-color-primary, #f1f1f1);\n color: var(--md-sys-color-on-primary, black);\n padding: 5px;\n box-sizing: border-box;\n border-bottom: 1px solid #ccc;\n}\n\n.popup-wrap .popup-title {\n flex: 1;\n text-align: center;\n}\n\n.popup-wrap .popup-buttons-wrap {\n position: relative;\n display: flex;\n flex-direction: row-reverse;\n gap: 4px;\n min-width: 100px;\n align-items: center;\n justify-items: center;\n margin: 0;\n padding: 0;\n}\n\n.popup-wrap .popup-buttons-wrap.float-right {\n position: absolute;\n right: 0;\n top: 0;\n height: 30px;\n margin-right: 5px;\n}\n\n.popup-wrap button.closable, \n.popup-wrap button.minimizable, \n.popup-wrap button.draggable {\n display: none;\n color: white; \n background-color: black; \n opacity: .3;\n width: 20px;\n height: 20px;\n top: 5px; \n z-index: 1;\n padding: 0;\n margin: 0;\n border: 0px;\n text-align: center;\n cursor: pointer;\n border-radius: 4px;\n font-family: Material Symbols Outlined;\n font-size: 16px;\n}\n\n.popup-wrap button.draggable {\n cursor: move;\n}\n\n.popup-wrap button.closable:hover, \n.popup-wrap button.minimizable:hover, \n.popup-wrap button.draggable:hover {\n opacity: .6; \n}\n")),r.appendChild(y),plt.forEach(r=>{e.on(r,(...e)=>{t.trigger(r,...e)})});const m=r.querySelector(".draggable");[...Rst,...Dst].forEach(t=>{p.addEventListener(t,t=>{t.stopPropagation()})}),[...Rst,...Dst].forEach(t=>{r.addEventListener(t,t=>{t.stopPropagation()})}),i&&o&&r.addEventListener("click",e=>{e.target===r&&ylt.hide(t)});if(t.rootModel.getOverlay({...t,scalable:!l||"static"==l}).appendChild(r),function(t,e,r){const n=t.root;if(n===t)return;vlt(t);let i=glt.get(n)||[];i=[...i,[t,{div:e,scene:r}]],glt.set(n,i)}(t,r,e),h){r.querySelector(".popup-title-bar .popup-title").textContent=h}const b=r.querySelector(".popup-translate");if(s&&(dlt(b,h?r.querySelector(".popup-title-bar"):r.querySelector(".draggable"),function(t,e){if(!(e=e||t.position)||"static"===e){const e=(t.rootModel.getOverlay(t).style.transform||"").match(/scale\(([^,\s)]+)(?:,\s*([^)]+))?\)/),r=e?parseFloat(e[1]):1;return{sx:r,sy:e&&e[2]?parseFloat(e[2]):r}}return{sx:1,sy:1}}(t,l)),h?m&&(m.style.display="block"):(b.addEventListener("mouseenter",()=>{m&&(m.style.display="block")}),b.addEventListener("mouseleave",()=>{m&&(m.style.display="none")}))),a){const t=r.querySelector(".minimizable");let e=!1;t.addEventListener("click",t=>{t.preventDefault(),e=!e;const n=r.querySelector(".popup-wrap");!function(t,e,r){const n=e.querySelector(".minimizable"),i=e.querySelector(".popup-translate");i&&(r?(n.innerHTML="crop_square",i.style.height="30px"):(n.innerHTML="minimize",i.style.height="100%"))}(0,i?n:r,e)}),h?t&&(t.style.display="block"):(b.addEventListener("mouseenter",()=>{t&&(t.style.display="block")}),b.addEventListener("mouseleave",()=>{t&&(t.style.display="none")}))}if(o){const t=r.querySelector(".closable");h?t&&(t.style.display="block"):(b.addEventListener("mouseenter",()=>{t&&(t.style.display="block")}),b.addEventListener("mouseleave",()=>{t&&(t.style.display="none")}))}r.querySelector(".closable")?.addEventListener("click",e=>{e.preventDefault(),ylt.hide(t)}),r.addEventListener("close-scene",e=>{e.preventDefault(),e.stopPropagation(),ylt.hide(t),c&&(t.data=e.detail)}),e.target=p,e.data=n||t.data,e.fit("both");const{x:x,y:w}=t.center,A=t.toScene(x,w),_=i?r.querySelector(".popup-wrap"):r;flt(_,l,u,A,e.root.bounds,{width:g,height:v},{title:h}),i?Object.assign(_.style,{position:"absolute",pointerEvents:"none",width:`${g}px`,height:`${h?v+30:v}px`}):Object.assign(_.style,{pointerEvents:"none",width:`${g}px`,height:`${h?v+30:v}px`}),function(t,e){t.style.opacity=0;const r=(t.style.transform||"").replace(/scale\([^)]+\)/,"").trim();t.style.transform=`${r} scale(0)`,t.style.display="block";const n=Date.now(),i=()=>{const o=Math.min((Date.now()-n)/200,1);t.style.opacity=o,t.style.transform=`${r} scale(${o})`.trim(),o<1?requestAnimationFrame(i):e&&e()};i()}(r,()=>{i&&(r.style.backgroundColor="rgba(0,0,0,0.3)")})},t=>{console.error("cannot fetch board: "+e,t)})}}const mlt=new class{constructor(){this.ABSOLUTE=!0}reflow(t,e){}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!1}};function blt(t){var e=t.components.filter(t=>!t.hidden),r=t.getState("layoutConfig")||{},n=e[r&&r.activeIndex||0];return n&&[n]||[]}llt.register("absolute",mlt);const xlt=new class{reflow(t){var e=t.bounds,r=t.getState("layoutConfig")||{},n={left:0,top:0,width:e.width,height:e.height};t.forEach((t,e)=>{let i=e!=(r.activeIndex||0);t.bounds=n,t.setState("rotation",0),"element"in t&&t.element&&(t.element.style.visibility=i?"hidden":"visible")})}capturables(t){return blt(t)}drawables(t){return blt(t)}isStuck(t){return!0}};function wlt(t){var e=t.getState("layoutConfig");return e&&e.weight||1}llt.register("card",xlt);const Alt=new class{reflow(t){var e=this.drawables(t),r=t.getState("padding")||{},n=e.reduce((t,e)=>t+wlt(e),0),i=t.bounds,o=n>0?(i.width-((r.left||0)+(r.right||0)))/n:i.width,a=i.height-((r.top||0)+(r.bottom||0)),s=0;e.forEach(t=>{let e=wlt(t),n=t.getState("margin")||{};t.bounds={left:o*s+(r.left||0)+(n.left||0),top:0+(r.top||0)+(n.top||0),width:e*o-((n.left||0)+(n.right||0)),height:a-((n.top||0)+(n.bottom||0))},t.setState("rotation",0),s+=e})}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!0}};function _lt(t){var e=t.getState("layoutConfig");return e&&e.weight||1}llt.register("linear-horizontal",Alt);const Elt=new class{reflow(t){var e=this.drawables(t),r=t.getState("padding")||{},n=e.reduce((t,e)=>t+_lt(e),0),i=t.bounds,o=n>0?(i.height-((r.top||0)+(r.bottom||0)))/n:i.height,a=i.width-((r.left||0)+(r.right||0)),s=0;e.forEach(t=>{let e=_lt(t),n=t.getState("margin")||{};t.bounds={left:0+(r.left||0)+(n.left||0),top:o*s+(r.top||0)+(n.top||0),width:a-((n.left||0)+(n.right||0)),height:e*o-((n.top||0)+(n.bottom||0))},t.setState("rotation",0),s+=e})}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!0}};llt.register("linear-vertical",Elt);const Slt=new class{constructor(){this.joinType=!0}reflow(t){var e=t.getState("layoutConfig"),r=e&&e.columns||t.getState("columns"),n=e&&e.rows||t.getState("rows"),i=e&&e.widths||t.getState("widths"),o=e&&e.heights||t.getState("heights"),a=i?i.filter((t,e)=>e<r).reduce((t,e)=>t+e,0):r,s=o?o.filter((t,e)=>e<n).reduce((t,e)=>t+e,0):n,c=t.textBounds,l=t.getState("paddingLeft")||0,u=t.getState("paddingTop")||0,h=c.width/a,f=c.height/s,d=0,p=0;t.components.forEach((t,e)=>{let n=i?i[e%r]:1,a=o?o[Math.floor(e/r)]:1,s=t.colspan||1,c=0;for(;--s>0;)c+=i?i[(e+s)%r]:1;let g=t.rowspan||1,v=0;for(;--g>0;)v+=o?o[Math.floor(e/r)+g]:1;t.bounds={left:l+d,top:u+p,width:h*(n+c),height:f*(a+v)},t.setState("rotation",0),e%r==r-1?(d=0,p+=a*f):d+=n*h})}capturables(t){return t.components.filter(t=>!t.merged)}drawables(t){return t.components.filter(t=>!t.merged&&!t.hidden)}isStuck(t){return!0}keyNavigate(t,e,r){var n=t.getState("layoutConfig"),i=n&&n.columns||t.getState("columns"),o=n&&n.rows||t.getState("rows"),{row:a,column:s}=t.getRowColumn(e);switch(r.code){case"ArrowUp":if(a>0)return t.getAt((a-1)*i+s);break;case"ArrowDown":if(a<o-1)return t.getAt((a+1)*i+s);break;case"ArrowRight":if(s<i-1)return t.getAt(a*i+s+1);break;case"ArrowLeft":if(s>0)return t.getAt(a*i+s-1);break;default:return e}}};llt.register("table",Slt);const klt=new Image;klt.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAclBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BbqFAAAAJXRSTlMAgAP3VSI6/g9fBk5FavJsMrariSjzPnO1enRRL5SMhmOOWB9keFTE0wAAANxJREFUOMutk9kWgyAMRLFuiLjUtdp9yf//YglVsQXz1HniMPcEMgHGvpX2O0Ypi+EgCL+IAShC+wB7QfubRDT7AFcnUPoLMLiP4PyJbsb55i05AgnR5iaQDsICgtH0cotBWoAP1c7kC6kFxEseCfZfB6gEgbNeBrira2QmH1uVYCXlA3is8UmgUCPIyQJKEmu8QtQJN0e9DPXVpzG2G216c1CqRmcBOdxXk07sWUSPv07zo0amCNQycv+NzmR6cRcwmfbuI7p2nZ/z4be0P83Foz6vIkhfZXr82XgDlZsspIq4peUAAAAASUVORK5CYII=";var Mlt=t=>class extends t{postrender(t){super.postrender(t),this.app.isEditMode&&this._focused&&this.showMoveHandle&&this._draw_move_handle(t)}_draw_move_handle(t){var{left:e,top:r,width:n}=this.bounds;t.save(),t.beginPath(),t.globalAlpha=1,t.rect(e+n,r,25,25);t.fillStyle="rgba(235, 235, 235, 1)",t.fill(),t.drawImage(klt,e+n+3.75,r+3.75,17.5,17.5),t.closePath(),t.restore()}contains(t,e){var r=super.contains(t,e);if(this.app.isViewMode)return r;if(!r){var{left:n,top:i,width:o,height:a}=this.bounds,s=n+o;this.showMoveHandle&&(r=t<Math.max(s+25,s)&&t>Math.min(s+25,s)&&e<Math.max(i+25,i)&&e>Math.min(i+25,i))}return this._focustd!==r&&(this._focused=r,this.invalidate()),r}};const Olt=[];class Tlt extends(Mlt(nlt(tlt))){constructor(t,e){super(t,e),this._components=[]}replaceRefids(t){this.components.forEach(e=>e.replaceRefids(t))}get showMoveHandle(){return!0}get showOverflow(){return!1}dispose(){this.components.slice().forEach(t=>t.dispose()),super.dispose()}isContainer(){return!0}containable(t){return t.isDescendible(this)}get hasTextProperty(){return!1}get components(){return this._components}get focusible(){return!0}get layout(){return llt.get(this.get("layout"))||mlt}reflow(){this.layout.reflow(this),this.components&&this.components.forEach(t=>{t.isContainer()&&t.reflow()})}get hierarchy(){var t=super.hierarchy;return this.components&&(t.components=this.components.map(t=>t.hierarchy)),t}addComponent(t,e=!1){var r=t.parent;if(r){if(this===r)return;r.removeComponent(t,e)}var n=this._components.push(t)-1;t.parent=this,t.added(this),e||this.trigger("add",this,t,n),t.delegate_on(this),e||t.trigger("added",this,t,n),this.root&&this.root.isReady&&t.ready()}removeComponent(t,e=!1){var r=this._components.indexOf(t);-1!=r&&(this._components.splice(r,1),t.parent=null,t.removed(this),e||(this.trigger("remove",this,t),t.trigger("removed",this,t)),t.delegate_off(this))}insertComponentAt(t,e,r=!1){var n=t.parent;n&&n.removeComponent(t,r);var i=this._components.splice(0,e);this._components=i.concat(t,this._components),e=this._components.indexOf(t),t.parent=this,t.added(this),r||this.trigger("add",this,t,e),t.delegate_on(this),r||t.trigger("added",this,t,e)}add(t,e=!1){return t instanceof Array?(t.forEach(t=>{-1==this._components.indexOf(t)&&this.addComponent(t,e)}),this):this.add.call(this,[t],e)}remove(t,e=!1){return t instanceof Array?this._components?(t.forEach(t=>{this.removeComponent(t,e)}),this):this:this.remove.call(this,[t],e)}getAt(t){if(this._components)return this._components[t]}forEach(t,e){this._components&&this._components.forEach(t,e)}traverse(t,e){t.call(e,this),this._components&&this._components.forEach(r=>{r.isContainer()?r.traverse(t,e):t.call(e,r)})}indexOf(t){return(this._components||Olt).indexOf(t)}size(){return(this._components||Olt).length}moveChildAt(t,e){var r=this.indexOf(e);if(-1!=r){var n=this._components.splice(0,r),i=this._components.splice(1);this._components=n.concat(i),t=Math.max(0,t),t=Math.min(t,this._components.length),n=this._components.splice(0,t),this._components=n.concat(e,this._components)}}moveChildForward(t){var e=this.indexOf(t);-1!=e&&e!=this.size()-1&&(this._components[e]=this._components[e+1],this._components[e+1]=t)}moveChildBackward(t){var e=this.indexOf(t);-1!=e&&0!=e&&(this._components[e]=this._components[e-1],this._components[e-1]=t)}moveChildToFront(t){var e=this.indexOf(t);if(-1!=e&&e!=this.size()-1){var r=this._components.splice(0,e),n=this._components.splice(1);this._components=r.concat(n,this._components)}}moveChildToBack(t){var e=this.indexOf(t);if(-1!=e&&0!=e){var r=this._components.splice(0,e),n=this._components.splice(0);this._components=this._components.concat(r,n)}}symmetryX(t){super.symmetryX(t),this.components.map(t=>{t.symmetryX(0)})}findAll(t,...e){if("string"==typeof t)return Wst(t,this,e[0]||this);if("function"==typeof t){var r=[];for(let n=this.components.length-1;n>=0;n--){let i=this.components[n].findAll(t,...e);i&&(r=r.concat(i))}return t(this,...e)&&r.push(this),r}}findFirst(t,...e){if("string"==typeof t)return Wst(t,this,e[0])[0];if("function"==typeof t){for(let n=this.components.length-1;n>=0;n--){var r=this.components[n].findFirst(t,...e);if(null!=r)return r}return t(this,...e)?this:null}}findById(t){return this.root.findById(t)}findByRefid(t){return this.root.findByRefid(t)}contains(t,e){var r=super.contains(t,e);if(!r){var{left:n,top:i,width:o,height:a}=this.state;r=t<Math.max(n+o,n)&&t>Math.min(n+o,n)&&e<Math.max(i+a,i)&&e>Math.min(i+a,i)}return r}capture(t,e,r){if(!this.app.isEditMode&&this.hidden)return!1;var n=this.fromParent(t,e);if(!this.contains(n.x,n.y))return!1;var i=this.bounds;n.x-=i.left,n.y-=i.top;var o=this.layout.capturables(this);for(let i=o.length-1;i>=0;i--){if("static"==o[i].position)var a=o[i].capture(n.x,n.y,r);else a=o[i].capture(t,e,r);if(a)return a}return this.capturable&&!r?.(this)&&this}capturePath(t,e){if(e){if(e.indexOf(this)>-1)return!1;for(let t=0;t<e.length;t++)if(!this.containable(e[t]))return!1}var r=[],{left:n,top:i,width:o,height:a}=this.bounds;for(let e=0;e<t.length;e++){let s=this.fromParent(t[e].x,t[e].y);if(s.x<n||s.x>n+o||s.y<i||s.y>i+a)return!1;s.x-=n,s.y-=i,r.push(s)}let s=this.layout.capturables(this);for(let t=s.length-1;t>=0;t--){let n=s[t];if(!n.isContainer())continue;let i=n.capturePath(r,e);if(i)return i}return this.focusible&&this}render(t){var{left:e=0,top:r=0,width:n,height:i}=this.bounds;t.beginPath(),t.rect(e,r,n,i),t.closePath(),this.drawFill(t),this.drawStroke(t)}postrender(t){const e=this.layout.drawables(this);if(e.length>0){var{left:r=0,top:n=0,width:i,height:o}=this.bounds;t.save(),this.showOverflow||(t.beginPath(),t.rect(r,n,i,o),t.clip(),t.closePath());var{top:n,left:r}=this.state;t.translate(r,n),e.forEach(e=>{e.draw(this.position&&"static"!==this.position?t:this.getContext(e))}),t.translate(-r,-n),t.restore()}super.postrender(t)}trim(){this.components.forEach(t=>{t.trim()}),super.trim()}}["layout"].forEach(t=>tlt.memoize(Tlt.prototype,t,!1));class Plt extends Tlt{constructor(t,e){super(t,e),t.translate=t.translate||{x:0,y:0},this._draw_reserved=!1,this.__draw__=()=>{this._draw_reserved=!1,this.trigger("redraw"),this.reflow(),this.draw()},this.throttle_render=()=>{this._draw_reserved||requestAnimationFrame(this.__draw__),this._draw_reserved=!0}}fitSize(t,e,r,n){if(this.target){if(e){let t=getComputedStyle(this.target);r=r||(t?parseFloat(t.getPropertyValue("width")):this.target.clientWidth),n=n||(t?parseFloat(t.getPropertyValue("height")):this.target.clientHeight)}else r=this.model.width,n=this.model.height;"CANVAS"==t.tagName&&(t.setAttribute("width",r*Cst),t.setAttribute("height",n*Cst)),t.style.width=r+"px",t.style.height=n+"px"}}resize(){this.fitSize(this.element,!0)}isLayer(){return!0}get showOverflow(){return this.app.isEditMode}get anchors(){}createElement(){var t=tlt.createCanvas(1,1);return t.setAttribute("scene",this.state.type),t.style.position="absolute",t.style.pointerEvents=this.pointerEvents,t}get pointerEvents(){return"auto"}get target(){return this._target}set target(t){this._target&&this.element&&this._target.removeChild(this.element),this._target=t,this.element||(this.element=this.createElement()),this.resize(),t?.appendChild(this.element)}get canvas(){return this.element}dispose(){super.dispose(),this.target=null,this.element=null}get selected(){return this.root.selected}set selected(t){this.root.selected=t}get hasSameParentForAllSelected(){return this.root.hasSameParentForAllSelected}get focused(){return this.root.focused}set focused(t){this.root.focused=t}get context2D(){if(!this._context2D&&(this._context2D=this.canvas&&this.canvas.getContext("2d"),this._context2D)){const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._context2D.font=["10px",e].join(" "),this._context2D.save()}return this._context2D}getContext(t){return this._context2D||this.context2D}draw(t){this.canvas&&(t=t||this.getContext())&&(t.save(),super.draw(t),t.restore())}prerender(t){var{translate:e,scale:r={x:1,y:1},rotation:n}=this.model;t.clearRect(0,0,t.canvas.width,t.canvas.height),e&&t.translate(e.x*Cst,e.y*Cst),t.scale(r.x*Cst,r.y*Cst),n&&t.rotate(n)}get rotatePoint(){return{x:0,y:0}}contains(t,e){return!1}invalidate(){this.throttle_render()}move(t){var e=this.get("translate")||{x:0,y:0};this.set({translate:{x:e.x+t.x,y:e.y+t.y}})}centerTo(t,e){const r=t.rootModel.toLocal(this.canvas.clientWidth/2,this.canvas.clientHeight/2),{x:n,y:i}=t.center,{x:o,y:a}=t.fromParent(n,i),{x:s,y:c}=t.toScene(o,a),{x:l,y:u}=t.rootModel.get("translate"),{x:h,y:f}=t.rootModel.get("scale");e?Aat({step:function(e){t.rootModel.set({translate:{x:l+(r.x-s)*h*e,y:u+(r.y-c)*f*e}})},duration:1e3,delta:"circ",ease:"in"}).start():t.rootModel.set({translate:{x:l+(r.x-s)*h,y:u+(r.y-c)*f}})}}class Ilt extends Plt{dispose(){super.dispose(),delete this._canvas,delete this._auxCanvas}createElement(){var t=document.createElement("div");return t.style.position="absolute",t.setAttribute("scene",`${this.state.type}-anchor`),t.style["user-select"]="none",t.style.overflow="hidden",this._canvas=tlt.createCanvas(1,1),this._canvas.style.position="absolute",this._canvas.style.pointerEvents="none",this._canvas.setAttribute("scene",`${this.state.type}-canvas`),t.appendChild(this._canvas),this._auxCanvas=tlt.createCanvas(1,1),this._auxCanvas.style.position="absolute",this._auxCanvas.style.pointerEvents="none",this._auxCanvas.style.zIndex="100",this._auxCanvas.setAttribute("scene",`${this.state.type}-aux-canvas`),t.appendChild(this._auxCanvas),t}resize(){this.fitSize(this.element,!0);const t=this.element.clientWidth,e=this.element.clientHeight;this.fitSize(this.canvas,!0,t,e),this.fitSize(this.auxCanvas,!0,t,e)}get canvas(){return this._canvas}get auxCanvas(){return this._auxCanvas}get context2D(){if(!this._context2D){this._context2D=this.canvas&&this.canvas.getContext("2d");const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._context2D.font=["10px",e].join(" "),this._context2D.save()}return this._context2D}get auxContext2D(){if(!this._auxContext2D){this._auxContext2D=this.auxCanvas&&this.auxCanvas.getContext("2d");const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._auxContext2D.font=["10px",e].join(" "),this._auxContext2D.save()}return this._auxContext2D}getContext(t){/*!this.app.isViewMode || */
|
|
3
|
-
return!t||t.scalable?this.context2D:this.auxContext2D}draw(t){this.canvas&&this.element&&(t=t||this.getContext())&&(this.auxContext2D.clearRect(0,0,this.auxCanvas.width,this.auxCanvas.height),this.auxContext2D.save(),this.auxContext2D.scale(Cst,Cst),super.draw(t),this.auxContext2D.restore())}}var Clt,Rlt,Dlt,Llt;!function(t){t.CANVAS="canvas",t.DOM="dom"}(Clt||(Clt={}));class jlt{get overlay(){return this._overlay}constructor(t,e,r={}){if(this.element=null,this.isActive=!1,this._overlay=null,this.target=e,this.options={animation:!0,repeat:!0,duration:3e3,color:"#ff0000",opacity:1,fadeOut:!1,...r},this.mode=r.mode||this.determineOptimalMode(),t){this._overlay=t;Wct.getInstance().addOverlay(t)}}determineOptimalMode(){return!1!==this.options.animation?Clt.DOM:Clt.CANVAS}start(){if(!this.isActive&&(this.isActive=!0,this.mode===Clt.DOM)){this.overlay?(this.createDOMElements(),this.target.on("change",this.handleTargetChange,this),this.target.on("removed",this.handleTargetRemoved,this)):(console.warn("오버레이가 설정되지 않아 DOM 모드 데코레이터를 시작할 수 없습니다."),this.isActive=!1)}}stop(){this.isActive&&(this.isActive=!1,this.mode===Clt.DOM&&(this.target.off("change",this.handleTargetChange,this),this.target.off("removed",this.handleTargetRemoved,this),this.removeDOMElements()))}update(t){if(t&&(this.options={...this.options,...t},t.mode&&t.mode!==this.mode))return this.stop(),this.mode=t.mode,void this.start();this.mode===Clt.DOM&&this.isActive&&this.updateDOMElements()}render(t,e){return!(this.mode!==Clt.CANVAS||!this.isActive)&&this.renderCanvas(t,e)}removeDOMElements(){this.element&&this.element.parentNode&&(this.element.parentNode.removeChild(this.element),this.element=null)}updateDOMElements(){this.removeDOMElements(),this.createDOMElements()}getComponentPosition(){const{left:t,top:e,width:r,height:n}=this.target.bounds;if("function"==typeof this.target.toGlobal)try{const{x:i,y:o}=this.target.toGlobal(t,e,this.target.rootModel);return{x:i,y:o,width:r,height:n}}catch(t){console.warn("좌표 변환 실패, 기본값 사용:",t)}return{x:t,y:e,width:r,height:n}}handleTargetChange(t,e){this.target.disposed?this.stop():this.invalidate()}handleTargetRemoved(){this.stop()}invalidate(){}}class Nlt extends jlt{constructor(t,e,r={}){super(t,e,{strokeWidth:2,strokeColor:"#FF0000",strokeOpacity:1,fillColor:"none",fillOpacity:.5,scale:1,rotation:0,x:0,y:0,zIndex:0,mode:Clt.DOM,...r}),this.vectorElement=null,this.animationElements=[],this.svgContainer=null,this.animationElement=null}getDecoratorType(){return this.constructor.DECORATOR_TYPE}dispose(){this.removeDOMElements()}determineOptimalMode(){return Clt.DOM}renderCanvas(t,e){return console.warn("VectorDecorator는 Canvas 렌더링을 지원하지 않습니다. DOM 모드를 사용하세요."),!1}getSvgContainer(){if(!this.overlay)throw new Error("오버레이 요소가 없습니다.");if(!Nlt.svgContainerCache.has(this.overlay)){const t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.setAttribute("class","vector-decorator-container"),t.setAttribute("pointer-events","none"),t.style.overflow="visible",t.style.position="absolute",t.style.top="0",t.style.left="0",this.overlay.appendChild(t),Nlt.svgContainerCache.set(this.overlay,t)}return Nlt.svgContainerCache.get(this.overlay)}getOrCreateDecoratorGroup(t=!1){const e=this.getSvgContainer(),r=this.getVectorGroupId(),n=this.getDecoratorType();let i=e.querySelector(`g[data-decorator-type-container="${n}"]`);if(!i){i=document.createElementNS("http://www.w3.org/2000/svg","g"),i.setAttribute("data-decorator-type-container",n),i.setAttribute("class",`${n}-container`),e.appendChild(i);const t=document.createElementNS("http://www.w3.org/2000/svg","defs");t.setAttribute("data-defs-for",n),i.appendChild(t)}let o=i.querySelector(`g[data-decorator-group-id="${r}"]`);if(!o){const{id:t}=this.target.state;return o=document.createElementNS("http://www.w3.org/2000/svg","g"),o.setAttribute("data-decorator-group-id",r),o.setAttribute("data-decorator-type",n),t&&o.setAttribute("data-component-id",t),i.appendChild(o),o}if(t)for(;o.firstChild;)o.removeChild(o.firstChild);return o}getDefsForType(){const t=this.getSvgContainer(),e=this.getDecoratorType();let r=t.querySelector(`g[data-decorator-type-container="${e}"]`);r||(this.getOrCreateDecoratorGroup(),r=t.querySelector(`g[data-decorator-type-container="${e}"]`));let n=r.querySelector(`defs[data-defs-for="${e}"]`);return n||(n=document.createElementNS("http://www.w3.org/2000/svg","defs"),n.setAttribute("data-defs-for",e),r.appendChild(n)),n}getDecoratorGroup(){const t=this.getSvgContainer(),e=this.getVectorGroupId();let r=t.querySelector(`g[data-decorator-group-id="${e}"]`);if(r)return r}createFadeAnimation(t=0,e=1,r=1e3,n={}){const i=document.createElementNS("http://www.w3.org/2000/svg","animate");return i.setAttribute("attributeName","opacity"),i.setAttribute("from",t.toString()),i.setAttribute("to",e.toString()),i.setAttribute("dur",`${r}ms`),n.delay&&i.setAttribute("begin",`${n.delay}ms`),i.setAttribute("fill","freeze"),n.repeat?i.setAttribute("repeatCount","indefinite"):i.setAttribute("repeatCount","1"),i}createTranslateAnimation(t,e=[],r=1e3,n={}){const i=document.createElementNS("http://www.w3.org/2000/svg","animateTransform");return i.setAttribute("attributeName","transform"),i.setAttribute("type","translate"),i.setAttribute("values",t.join(";")),e.length>0&&i.setAttribute("keyTimes",e.join(";")),i.setAttribute("dur",`${r}ms`),n.delay&&i.setAttribute("begin",`${n.delay}ms`),n.repeat?i.setAttribute("repeatCount","indefinite"):i.setAttribute("repeatCount","1"),i}createRotateAnimation(t=0,e=360,r=0,n=0,i=1e3,o={}){const a=document.createElementNS("http://www.w3.org/2000/svg","animateTransform");return a.setAttribute("attributeName","transform"),a.setAttribute("type","rotate"),a.setAttribute("from",`${t} ${r} ${n}`),a.setAttribute("to",`${e} ${r} ${n}`),a.setAttribute("dur",`${i}ms`),o.delay&&a.setAttribute("begin",`${o.delay}ms`),o.repeat?a.setAttribute("repeatCount","indefinite"):a.setAttribute("repeatCount","1"),a}addAnimations(t,e){e.forEach(e=>{t.appendChild(e),this.animationElements.push(e)})}updatePosition(){if(!this.vectorElement)return;const t=this.options,{left:e,top:r}=this.target.bounds;let{x:n,y:i}=this.target.toGlobal(e,r,this.target.rootModel);n+=t.x,i+=t.y,this.vectorElement.setAttribute("transform",`translate(${n}, ${i})`)}updateDOMElements(){this.createDOMElements()}getVectorGroupId(){const t=this.getDecoratorType(),{refid:e="unknown"}=this.target.state;return`decorator-${t}-${e}`}removeVectorElements(){if(this.overlay)try{const t=Nlt.svgContainerCache.get(this.overlay);if(!t)return;const e=this.getVectorGroupId(),r=this.getDecoratorType(),n=t.querySelector(`g[data-decorator-type-container="${r}"]`);if(n){const t=n.querySelector(`g[data-decorator-group-id="${e}"]`);if(t&&(this.vectorElement&&(this.vectorElement===t||t.contains(this.vectorElement))&&(this.vectorElement=null),this.animationElements=this.animationElements.filter(e=>!t.contains(e)),t.remove()),!n.querySelector("g[data-decorator-group-id]")){const t=n.querySelector(`defs[data-defs-for="${r}"]`);t&&t.remove(),n.remove()}}0===t.children.length&&(t.remove(),Nlt.svgContainerCache.delete(this.overlay))}catch(t){console.error("벡터 요소 제거 실패:",t)}}removeDOMElements(){this.removeVectorElements()}delta(t,e){if("string"==typeof t)return"fade"===t?this.applyFadeValue(e):"theta"===t&&this.applyRotationValue(e),{tx:0,ty:0};if("object"==typeof t){const e=t;("tx"in e||"ty"in e)&&this.applyTranslateValues(e.tx||0,e.ty||0),("sx"in e||"sy"in e)&&this.applyScaleValues(e.sx||1,e.sy||1)}return null}invalidate(){this.mode===Clt.DOM&&this.isActive&&this.updateDOMElements()}touch(){}applyFadeValue(t){if(this.vectorElement){const e=t.toFixed(2);this.vectorElement.setAttribute("opacity",e)}}applyRotationValue(t){if(this.vectorElement){const e=this.getComponentBounds(),r=e.width/2,n=e.height/2,i=(180*t/Math.PI).toFixed(1);this.vectorElement.setAttribute("transform",`rotate(${i} ${r} ${n})`)}}applyTranslateValues(t,e){if(this.vectorElement){const r=this.vectorElement.getAttribute("transform")||"";if(r.includes("translate")){const n=r.replace(/translate\([^)]+\)/,`translate(${t}, ${e})`);this.vectorElement.setAttribute("transform",n)}else this.vectorElement.setAttribute("transform",`${r} translate(${t}, ${e})`.trim())}}applyScaleValues(t,e){if(this.vectorElement){const r=this.vectorElement.getAttribute("transform")||"";if(r.includes("scale")){const n=r.replace(/scale\([^)]+\)/,`scale(${t}, ${e})`);this.vectorElement.setAttribute("transform",n)}else this.vectorElement.setAttribute("transform",`${r} scale(${t}, ${e})`.trim())}}getComponentBounds(){return this.target&&this.target.bounds?this.target.bounds:{top:0,left:0,width:100,height:100}}}Nlt.svgContainerCache=new WeakMap,Nlt.DECORATOR_TYPE="vector";class Flt extends jlt{constructor(t,e,r={}){super(t,e,{scale:1,strokeColor:"#000000",strokeWidth:1,rotation:0,shadow:!1,shadowColor:"rgba(0,0,0,0.5)",shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,...r}),this.animationId=null,this.canvasElement=null,this.context=null,this.animationFrame=null,this.deltaValue=0}determineOptimalMode(){return Clt.CANVAS}createDOMElements(){console.warn("RasterDecorator는 DOM 렌더링을 지원하지 않습니다. Canvas 모드를 사용하세요.")}setAnimationState(t=3e3,e=!1){Flt.animationStateMap.set(this.target,{startTime:Date.now(),duration:t,repeat:e})}getAnimationState(){const t=Flt.animationStateMap.get(this.target);if(!t)return{delta:0,finished:!0};const{startTime:e,duration:r,repeat:n}=t,i=Date.now()-e;let o=Math.min(1,i/r),a=o>=1;return n&&a&&(Flt.animationStateMap.set(this.target,{startTime:Date.now(),duration:r,repeat:n}),o=0,a=!1),{delta:o,finished:a}}bounceEffect(t,e=10){const r=Math.min(1,4*t);return Math.sin(r*Math.PI*10)*e*(1-r)}fadeEffect(t,e=!1){return e?t:1-t}pulseEffect(t,e=.8,r=1.2){return e+(.5*Math.sin(t*Math.PI*2)+.5)*(r-e)}rotateEffect(t,e=360){return t*e}applyShadowEffect(t){if(this.options.shadow){const e=this.options;t.shadowColor=e.shadowColor||"rgba(0,0,0,0.5)",t.shadowBlur=e.shadowBlur||5,t.shadowOffsetX=e.shadowOffsetX||2,t.shadowOffsetY=e.shadowOffsetY||2}}removeShadowEffect(t){t.shadowColor="transparent",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0}start(){super.start(),this.isActive&&this.options.animation&&this.setAnimationState(this.options.duration||3e3,this.options.repeat||!1)}stop(){super.stop(),Flt.animationStateMap.delete(this.target)}applyTransform(t,e,r){const n=this.options,i=n.scale||1,o=n.rotation||0;if(1!==i||0!==o){if(t.translate(e,r),0!==o){const e=o*Math.PI/180;t.rotate(e)}1!==i&&t.scale(i,i),t.translate(-e,-r)}}delta(t,e){return"string"==typeof t?("fade"===t?(this.deltaValue=e,this.context&&(this.context.globalAlpha=e)):"theta"===t&&(this.deltaValue=e),{tx:0,ty:0}):null}invalidate(){this.context&&this.isActive&&(this.animationFrame||(this.animationFrame=requestAnimationFrame(()=>{this.animationFrame=null,this.renderCanvas(this.context,this.deltaValue)})))}touch(){this.deltaValue=0}}Flt.animationStateMap=new WeakMap;class zlt extends Nlt{constructor(t,e,r={}){super(t,e,{size:1,showId:!1,animation:!1,...r}),this.arrowElement=null,this.labelElement=null,this.decoratorGroup=null}createDOMElements(){if(this.overlay)try{const t=this.getOrCreateDecoratorGroup(!0);this.decoratorGroup=t,t.setAttribute("transform","translate(0, 0)");const{size:e=1,showId:r=!1,duration:n=3e3,repeat:i=!0}=this.options,o=this.options.color||"#FF0000",a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("d",this.createArrowPath(0,0,e)),a.setAttribute("fill",o),a.setAttribute("stroke",o),a.setAttribute("stroke-width","1"),a.setAttribute("class","bouncing-arrow");const s=[];if(this.options.animation){const t=this.createBounceAnimation(n,i);if(s.push(t),this.options.fadeOut){const t=this.createFadeAnimation(1,0,n,{repeat:i});s.push(t)}}if(this.addAnimations(a,s),t.appendChild(a),this.arrowElement=a,r&&this.target.state?.id){const r=this.createArrowLabel(0,0,o,this.target.state.id,e);if(this.options.animation){const t=[],e=this.createBounceAnimation(n,i);if(t.push(e),this.options.fadeOut){const e=this.createFadeAnimation(1,0,n,{repeat:i});t.push(e)}this.addAnimations(r,t)}t.appendChild(r),this.labelElement=r}this.vectorElement=t,this.updatePosition(),this.options.animation&&this.startAnimations()}catch(t){console.error("화살표 SVG 요소 생성 실패:",t)}}createArrowPath(t,e,r=1){const n=r/this.getScale();return`\n M${t-10*n},${e-16*n} \n L${t+10*n},${e-16*n} \n L${t+10*n},${e-8*n} \n L${t+16*n},${e-8*n} \n L${t},${e} \n L${t-16*n},${e-8*n} \n L${t-10*n},${e-8*n} \n Z\n `}getScale(){try{if(this.target.rootModel&&"number"==typeof this.target.rootModel.scale)return this.target.rootModel.scale||1}catch(t){console.warn("스케일 계산 실패, 기본값 사용",t)}return 1}createBounceAnimation(t,e){let r=["0,-10"],n=["0"];for(let t=1;t<=20;t++){const e=t/20;let i=Math.pow(e,.5).toFixed(3);parseFloat(n[n.length-1])>=parseFloat(i)&&(i=(parseFloat(n[n.length-1])+.01).toFixed(3)),r.push("0,0"),r.push("0,-10"),n.push(i),n.push((parseFloat(i)+.01).toFixed(3))}return n[n.length-1]="1.000",this.createTranslateAnimation(r,n,t,{repeat:e})}createArrowLabel(t,e,r,n,i=1){const o=document.createElementNS("http://www.w3.org/2000/svg","g");o.setAttribute("class","bouncing-arrow-label");const a=document.createElementNS("http://www.w3.org/2000/svg","rect");a.setAttribute("x",`${t+20*i}`),a.setAttribute("y",""+(e-20*i)),a.setAttribute("width",""+40*i),a.setAttribute("height",""+20*i),a.setAttribute("rx","3"),a.setAttribute("fill",r);const s=document.createElementNS("http://www.w3.org/2000/svg","text");return s.setAttribute("x",`${t+40*i}`),s.setAttribute("y",""+(e-6*i)),s.setAttribute("fill","white"),s.setAttribute("font-size",12*i+"px"),s.setAttribute("text-anchor","middle"),s.textContent=n,o.appendChild(a),o.appendChild(s),o}startAnimations(){setTimeout(()=>{this.animationElements.forEach(t=>{try{t instanceof SVGElement&&"beginElement"in t&&t.beginElement()}catch(t){console.error("애니메이션 시작 오류:",t)}})},10)}invalidate(){this.updatePosition()}updatePosition(){if(!this.vectorElement)return;const{bounds:t}=this.target,{left:e,top:r,width:n}=t;let{x:i,y:o}=this.target.toGlobal(e+n/2,r,this.target.rootModel);i=Math.max(i,20),o=Math.max(o,20),this.vectorElement.setAttribute("transform",`translate(${i}, ${o})`)}}zlt.DECORATOR_TYPE="bouncing-arrow",function(t){t.ROTATE="rotate",t.TRANSLATE_X="translateX",t.TRANSLATE_Y="translateY",t.SCALE="scale",t.FADE="fade"}(Rlt||(Rlt={})),function(t){t.VIBRATION="vibration",t.ROTATION="rotation",t.HEARTBEAT="heartbeat",t.MOVING="moving",t.OUTLINE="outline",t.FADE="fade",t.WAYPOINT="waypoint"}(Dlt||(Dlt={})),function(t){t.CENTER="center",t.TOP="top",t.RIGHT="right",t.BOTTOM="bottom",t.LEFT="left",t.TOP_RIGHT="top-right",t.BOTTOM_RIGHT="bottom-right",t.BOTTOM_LEFT="bottom-left",t.TOP_LEFT="top-left",t.TOP_LEFT_CORNER="top-left-corner",t.TOP_RIGHT_CORNER="top-right-corner",t.BOTTOM_LEFT_CORNER="bottom-left-corner",t.BOTTOM_RIGHT_CORNER="bottom-right-corner",t.LEFT_TOP="left-top",t.LEFT_BOTTOM="left-bottom",t.RIGHT_TOP="right-top",t.RIGHT_BOTTOM="right-bottom"}(Llt||(Llt={}));class Ult extends Nlt{constructor(t,e,r={}){const{animations:n,...i}=r;super(t,e,{icon:"arrow_forward",size:24,color:"#FF0000",deltaX:0,deltaY:0,...i}),this.animations=[],this._location=null,this.element=null,this._delta={theta:0,tx:0,ty:0,sx:1,sy:1,fade:0},this.animations=this.createAnimations(n)}delta(t,e){if(!t)return this._delta;switch(typeof t){case"object":this._delta={...this._delta,...t};break;case"string":if(void 0===e)return this._delta[t];this._delta[t]=e}const{tx:r,ty:n,sx:i,sy:o,theta:a,fade:s}=this._delta;return this.element&&Object.assign(this._getElement().style,{opacity:1-s,transform:`rotate(${a}rad) translate(${r}px, ${n}px) scale(${i}, ${o}) perspective(1px)`}),this._delta}getScaledSize(){const t=this.options.size||24,{x:e}=this.target.rootModel?.state.scale||{x:1},{x:r}=this.target.state.scale||{x:1};return t*e*r}get location(){if(this._location)return this._location;const{location:t,position:e,size:r}=this.options,{bounds:n}=this.target,{left:i,top:o,width:a,height:s}=n,c=r/2;let l;switch(e||t||Llt.CENTER){case Llt.TOP_LEFT:case"top-left":l={x:i,y:o-r};break;case Llt.TOP:case"top":l={x:i+(a-r)/2,y:o-r};break;case Llt.TOP_RIGHT:case"top-right":l={x:i+a-r,y:o-r};break;case Llt.BOTTOM_LEFT:case"bottom-left":l={x:i,y:o+s};break;case Llt.BOTTOM:case"bottom":l={x:i+(a-r)/2,y:o+s};break;case Llt.BOTTOM_RIGHT:case"bottom-right":l={x:i+a-r,y:o+s};break;case Llt.LEFT_TOP:case"left-top":l={x:i-r,y:o};break;case Llt.LEFT:case"left":l={x:i-r,y:o+(s-r)/2};break;case Llt.LEFT_BOTTOM:case"left-bottom":l={x:i-r,y:o+(s-r)};break;case Llt.RIGHT_TOP:case"right-top":l={x:i+a,y:o};break;case Llt.RIGHT:case"right":l={x:i+a,y:o+(s-r)/2};break;case Llt.RIGHT_BOTTOM:case"right-bottom":l={x:i+a,y:o+(s-r)};break;case Llt.TOP_LEFT_CORNER:case"top-left-corner":l={x:i-c,y:o-c};break;case Llt.TOP_RIGHT_CORNER:case"top-right-corner":l={x:i+a-c,y:o-c};break;case Llt.BOTTOM_LEFT_CORNER:case"bottom-left-corner":l={x:i-c,y:o+s-c};break;case Llt.BOTTOM_RIGHT_CORNER:case"bottom-right-corner":l={x:i+a-c,y:o+s-c};break;case Llt.CENTER:default:l={x:i+a/2-r/2,y:o+s/2-r/2}}return this._location=this.toGlobal(l.x,l.y),this._location}_getElement(){return this.element||this._createElementIfNeeded(),this.element}_createElementIfNeeded(){if(this.element)return;const{icon:t="arrow_forward",color:e="#FF0000"}=this.options,r=this.getScaledSize(),{x:n,y:i}=this.location,o=document.createElement("div");o.setAttribute("scene","animated-icon"),Object.assign(o.style,{position:"absolute",fontVariationSettings:"'FILL' 1",fontFamily:"Material Symbols Outlined",fontSize:r+"px",width:r+"px",height:r+"px",lineHeight:r+"px",padding:0,margin:0,color:e,textAlign:"center",verticalAlign:"middle",left:n+"px",top:i+"px",pointerEvents:"none"}),o.textContent=t,this.element=o}updateIconSizeAndPosition(){if(!this.element)return;this._location=null;const t=this.getScaledSize(),{x:e,y:r}=this.location;Object.assign(this.element.style,{fontSize:t+"px",width:t+"px",height:t+"px",lineHeight:t+"px",left:e+"px",top:r+"px"})}touch(){}invalidate(){this.updateIconSizeAndPosition()}start(){super.start(),this.isActive&&(this.overlay&&this._getElement().parentNode!==this.overlay&&this.overlay.appendChild(this._getElement()),this.animations.forEach(t=>t.start()))}stop(){this.animations.forEach(t=>t.stop()),this.element&&this._getElement().parentNode&&this._getElement().parentNode.removeChild(this._getElement()),this._location=null,super.stop()}get center(){const t=this.getScaledSize(),{x:e,y:r}=this.location;return{x:e+t/2,y:r+t/2}}toGlobal(t,e){const{tx:r,ty:n}=this._delta;return this.target.toGlobal(t+r,e+n)}get root(){return this.target.root}createDOMElements(){this._getElement()}updateDOMElements(){this.element?this.updateIconSizeAndPosition():this._getElement()}updatePosition(){this.updateIconSizeAndPosition()}createAnimations(t){if(Array.isArray(t))return t.map(t=>("theta"in t&&(t={...t,theta:t.theta*(Math.PI/180)}),Sat(this,t)));if(t){const e={...t};return"theta"in e&&(e.theta=e.theta*(Math.PI/180)),[Sat(this,e)]}return[]}}Ult.DECORATOR_TYPE="animated-icon";class Blt extends Nlt{constructor(t,e,r={}){super(t,e,{distance:10,lineWidth:2,fillStyle:"rgba(0, 0, 0, 0.5)",animation:!1,...r}),this.pathElement=null,this.decoratorGroup=null,this.elementId=""}createDOMElements(){if(this.overlay)try{this.getSvgContainer();const t=this.getOrCreateDecoratorGroup(!0);this.decoratorGroup=t;const e=this.getDefsForType(),r=this.getVectorGroupId();this.elementId=`${r}-border`;const{color:n="#FF0000",animation:i=!1}=this.options,{fillStyle:o}=this.target.state||{},a=this.createFilter(this.elementId,this.options.fillStyle||o||"rgba(0, 0, 0, 0.5)");if(e.appendChild(a),i){const t=this.createGradient(this.elementId,n);e.appendChild(t)}const s=document.createElementNS("http://www.w3.org/2000/svg","path");s.setAttribute("fill","none"),s.setAttribute("stroke-width",(this.options.lineWidth||2).toString()),s.setAttribute("stroke-linejoin","round"),s.setAttribute("pointer-events","none"),s.setAttribute("class","border-highlighting-path"),s.setAttribute("filter",`url(#${this.elementId}-filter)`),i?s.setAttribute("stroke",`url(#${this.elementId})`):s.setAttribute("stroke",n),t.appendChild(s),this.pathElement=s,this.vectorElement=t,this.updatePathData(),this.options.animation&&this.startAnimations()}catch(t){console.error("테두리 하이라이팅 요소 생성 실패:",t)}}updatePathData(){if(!this.pathElement)return;this.pathElement.setAttribute("visibility","visible"),this.pathElement.setAttribute("opacity","1"),this.decoratorGroup&&(this.decoratorGroup.setAttribute("visibility","visible"),this.decoratorGroup.setAttribute("opacity","1"));const t=this.getPathPoints(),e=this.createOffsetPath(t,this.options.distance),{round:r=0}=this.target.state||{},n=this.pointsToPathData(e,r);this.pathElement.setAttribute("d",n)}invalidate(){this.updatePathData()}startAnimations(){if(!this.isActive||!this.options.animation||!this.pathElement)return;this.pathElement.setAttribute("visibility","visible"),this.pathElement.setAttribute("opacity","1"),this.decoratorGroup&&(this.decoratorGroup.setAttribute("visibility","visible"),this.decoratorGroup.setAttribute("opacity","1")),this.elementId&&(this.options,this.pathElement.setAttribute("stroke",`url(#${this.elementId})`),this.pathElement.setAttribute("filter",`url(#${this.elementId}-filter)`));const t=this.getDefsForType();if(t){const e=t.querySelector(`#${this.elementId}`);if(e){e.querySelectorAll("animate").forEach(t=>{try{t instanceof SVGElement&&"beginElement"in t&&(t.setAttribute("restart","always"),t.beginElement())}catch(t){console.error("애니메이션 시작 오류:",t)}})}}}createDefsElement(t){const e=document.createElementNS("http://www.w3.org/2000/svg","defs");return t.appendChild(e),e}getPathPoints(){if(!this.target.path||!Array.isArray(this.target.path)){const{left:t,top:e,width:r,height:n}=this.target.bounds;return[{x:t,y:e},{x:t+r,y:e},{x:t+r,y:e+n},{x:t,y:e+n}]}return this.target.path.map(t=>this.target.toGlobal(t.x,t.y))}createOffsetPath(t,e){const r=[],n=t.length;for(let i=0;i<n;i++){const o=t[(i-1+n)%n],a=t[i],s=t[(i+1)%n],c=a.x-o.x,l=a.y-o.y,u=s.x-a.x,h=s.y-a.y,f=this.normalize({x:l,y:-c}),d=this.normalize({x:h,y:-u}),p=this.normalize({x:(f.x+d.x)/2,y:(f.y+d.y)/2}),g={x:a.x+p.x*e,y:a.y+p.y*e};r.push(g)}return r}normalize(t){const e=Math.sqrt(t.x*t.x+t.y*t.y);return{x:t.x/e||0,y:t.y/e||0}}pointsToPathData(t,e=0){if(t.length<2)return"";let r="";const n=t.length,i=(t,e,r)=>{const n=e.x-t.x,i=e.y-t.y,o=Math.sqrt(n*n+i*i);return{x:t.x+n/o*r,y:t.y+i/o*r}};for(let o=0;o<n;o++){const a=t[o],s=t[(o+1)%n],c=t[(o-1+n)%n],l=Math.sqrt((a.x-c.x)**2+(a.y-c.y)**2),u=Math.sqrt((a.x-s.x)**2+(a.y-s.y)**2),h=Math.min(e,l/2,u/2),f=i(a,c,h),d=i(a,s,h);r+=0===o?`M${f.x},${f.y}`:` L${f.x},${f.y}`,r+=` Q${a.x},${a.y} ${d.x},${d.y}`}return r+=" Z",r}createFilter(t,e){const r=document.createElementNS("http://www.w3.org/2000/svg","filter");r.setAttribute("id",`${t}-filter`);const n=document.createElementNS("http://www.w3.org/2000/svg","feFlood");n.setAttribute("flood-color",e),n.setAttribute("result","flood");const i=document.createElementNS("http://www.w3.org/2000/svg","feComposite");i.setAttribute("in","flood"),i.setAttribute("in2","SourceAlpha"),i.setAttribute("operator","in"),i.setAttribute("result","mask");const o=document.createElementNS("http://www.w3.org/2000/svg","feMerge"),a=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode");a.setAttribute("in","mask");const s=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode");return s.setAttribute("in","SourceGraphic"),o.appendChild(a),o.appendChild(s),r.appendChild(n),r.appendChild(i),r.appendChild(o),r}createGradient(t,e){const r=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");r.setAttribute("id",t),r.setAttribute("x1","0%"),r.setAttribute("y1","0%"),r.setAttribute("x2","100%"),r.setAttribute("y2","0%");const n=this.alterColor(e,120),i=this.alterColor(e,240),o=document.createElementNS("http://www.w3.org/2000/svg","stop");o.setAttribute("offset","0%"),o.setAttribute("stop-color",e);const a=document.createElementNS("http://www.w3.org/2000/svg","animate");a.setAttribute("attributeName","stop-color"),a.setAttribute("values",`${e};${n};${i};${e}`),a.setAttribute("dur","5s"),a.setAttribute("repeatCount","indefinite");const s=document.createElementNS("http://www.w3.org/2000/svg","stop");s.setAttribute("offset","100%"),s.setAttribute("stop-color",i);const c=document.createElementNS("http://www.w3.org/2000/svg","animate");return c.setAttribute("attributeName","stop-color"),c.setAttribute("values",`${i};${e};${n};${i}`),c.setAttribute("dur","5s"),c.setAttribute("repeatCount","indefinite"),o.appendChild(a),s.appendChild(c),r.appendChild(o),r.appendChild(s),r}alterColor(t,e){const r=this.convertToHex(t),n=parseInt(r.substring(1,3),16),i=parseInt(r.substring(3,5),16),o=parseInt(r.substring(5,7),16),a=this.rgbToHsl(n,i,o);a[0]=(a[0]+e/360)%1;const s=this.hslToRgb(a[0],a[1],a[2]);return`#${s[0].toString(16).padStart(2,"0")}${s[1].toString(16).padStart(2,"0")}${s[2].toString(16).padStart(2,"0")}`}rgbToHsl(t,e,r){t/=255,e/=255,r/=255;const n=Math.max(t,e,r),i=Math.min(t,e,r);let o=0,a=0;const s=(n+i)/2;if(n!==i){const c=n-i;switch(a=s>.5?c/(2-n-i):c/(n+i),n){case t:o=(e-r)/c+(e<r?6:0);break;case e:o=(r-t)/c+2;break;case r:o=(t-e)/c+4}o/=6}return[o,a,s]}hslToRgb(t,e,r){let n,i,o;if(0===e)n=i=o=r;else{const a=(t,e,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t),s=r<.5?r*(1+e):r+e-r*e,c=2*r-s;n=a(c,s,t+1/3),i=a(c,s,t),o=a(c,s,t-1/3)}return[Math.round(255*n),Math.round(255*i),Math.round(255*o)]}convertToHex(t){if(/^#([0-9A-F]{6})$/i.test(t))return t;const e=document.createElement("canvas");e.width=1,e.height=1;const r=e.getContext("2d");if(!r)return"#FF0000";r.fillStyle=t,r.fillRect(0,0,1,1);const n=r.getImageData(0,0,1,1).data;return`#${n[0].toString(16).padStart(2,"0")}${n[1].toString(16).padStart(2,"0")}${n[2].toString(16).padStart(2,"0")}`}start(){super.start(),this.isActive&&this.options.animation&&this.startAnimations()}removeDOMElements(){try{if(this.pathElement&&this.pathElement.parentNode&&this.pathElement.parentNode.removeChild(this.pathElement),this.pathElement=null,this.overlay){const t=this.getDefsForType();if(t&&this.elementId){const e=t.querySelector(`#${this.elementId}-filter`);e&&e.remove();const r=t.querySelector(`#${this.elementId}`);r&&r.remove()}}super.removeDOMElements()}catch(t){console.error("테두리 하이라이팅 요소 제거 중 오류:",t)}}}Blt.DECORATOR_TYPE="border-highlighting";class $lt extends Nlt{constructor(t,e,r={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:3,padding:3,fontSize:"12px",fontFamily:"Arial",...r}),this.textElements=[],this.rectElements=[]}updateDOMElements(){if(!this.target.anchors||!this.target.anchors.length)return void this.removeDOMElements();const t=this.options,e=this.target.anchors,r=this.getOrCreateDecoratorGroup(!0);this.textElements=[],this.rectElements=[];const n=this.getComponentBounds();e.forEach(e=>{const{name:i,position:o,inout:a="inout"}=e;let{x:s,y:c}=o||{};if(!i)return;let l=this.calculateOffsetX(s,n),u=this.calculateOffsetY(c,n);const h=this.target.toGlobal(s,c);s=h.x,c=h.y;const f=document.createElementNS("http://www.w3.org/2000/svg","text");f.setAttribute("fill",t.textColor),f.setAttribute("font-family",t.fontFamily),f.setAttribute("font-size",t.fontSize),f.textContent=i,r.appendChild(f);const d=f.getBBox();r.removeChild(f);const p=d.width,g=d.height;l=-1==l?-p-9:3,u=-1==u?-g-9:3,f.setAttribute("x",(s+l+3).toString()),f.setAttribute("y",(c+u+g).toString());const v=document.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("x",(s+l).toString()),v.setAttribute("y",(c+u).toString()),v.setAttribute("width",(p+6).toString()),v.setAttribute("height",(g+6).toString()),v.setAttribute("rx",t.cornerRadius.toString()),v.setAttribute("ry",t.cornerRadius.toString()),v.setAttribute("fill",t.bgColor),r.appendChild(v),r.appendChild(f),this.rectElements.push(v),this.textElements.push(f)})}calculateOffsetX(t,e){return t<e.left+1?-1:1}calculateOffsetY(t,e){return t<e.top+1?-1:1}updatePosition(){super.updatePosition(),this.updateDOMElements()}invalidate(){this.updatePosition()}createDOMElements(){this.updateDOMElements()}}$lt.DECORATOR_TYPE="anchors";class Ylt extends Nlt{constructor(t,e,r={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:3,padding:3,fontSize:"12px",fontFamily:"Arial",offsetX:3,offsetY:-8,animation:!1,...r}),this.textElement=null,this.backgroundElement=null,this.currentTag=""}createDOMElements(){const t=this.target.decotag;if(!t)return;this.currentTag=t;const{fontFamily:e,fontSize:r,textColor:n,padding:i,cornerRadius:o,bgColor:a,animation:s,repeat:c,duration:l}=this.options,u=this.getOrCreateDecoratorGroup(!0);u.setAttribute("transform","translate(0, 0)"),this.textElement=document.createElementNS("http://www.w3.org/2000/svg","text"),this.textElement.textContent=t,this.textElement.setAttribute("x",`${i}`),this.textElement.setAttribute("y",`-${r}`),this.textElement.setAttribute("font-family",e),this.textElement.setAttribute("font-size",r),this.textElement.setAttribute("fill",n),this.textElement.setAttribute("dominant-baseline","middle"),u.appendChild(this.textElement);const h=this.textElement.getBBox();if(this.backgroundElement=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.backgroundElement.setAttribute("x",(h.x-i).toString()),this.backgroundElement.setAttribute("y",(h.y-i).toString()),this.backgroundElement.setAttribute("width",(h.width+2*i).toString()),this.backgroundElement.setAttribute("height",(h.height+2*i).toString()),this.backgroundElement.setAttribute("rx",o.toString()),this.backgroundElement.setAttribute("ry",o.toString()),this.backgroundElement.setAttribute("fill",a),u.innerHTML="",u.appendChild(this.backgroundElement),u.appendChild(this.textElement),s){const t=this.createFadeAnimation(.3,1,l,{repeat:c});this.addAnimations(u,[t])}this.vectorElement=u,this.updatePosition()}updateDOMElements(){const t=this.target.decotag;t&&t===this.currentTag?this.vectorElement&&this.updatePosition():(this.removeDOMElements(),this.createDOMElements())}updatePosition(){super.updatePosition()}invalidate(){this.updatePosition()}}Ylt.DECORATOR_TYPE="decotag";class Glt extends Nlt{constructor(t,e,r={}){super(t,e,{arrowColor:"#FFA500",arrowHeadLength:12,lineWidth:1.5,startAlpha:.6,endAlpha:1,animated:!0,animationDuration:5e3,repeat:!1,...r}),this.currentMappings=null}createDOMElements(){if(this.removeDOMElements(),!this.target.mappings||!this.target.mappings.length)return;this.currentMappings=this.target.mappings;const t=this.options,e=this.getOrCreateDecoratorGroup(!0),r=this.getDefsForType(),n=`data-spread-style-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,i=document.createElementNS("http://www.w3.org/2000/svg","style");i.setAttribute("id",n),i.textContent=`\n @keyframes fadeOut {\n from { opacity: 1; }\n to { opacity: ${t.repeat?"0.2":"0"}; }\n }\n .arrow-animated {\n animation: fadeOut ${t.animationDuration||2e3}ms linear ${t.repeat?"infinite":"1"} forwards;\n }\n `,r.appendChild(i);const o=`arrow-gradient-${Date.now()}-${Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}`,a=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");a.setAttribute("id",o),a.setAttribute("gradientUnits","userSpaceOnUse");const s=document.createElementNS("http://www.w3.org/2000/svg","stop");s.setAttribute("offset","0%"),s.setAttribute("stop-color",t.arrowColor||"#FFA500"),s.setAttribute("stop-opacity",(t.startAlpha||.5).toString());const c=document.createElementNS("http://www.w3.org/2000/svg","stop");c.setAttribute("offset","100%"),c.setAttribute("stop-color",t.arrowColor||"#FFA500"),c.setAttribute("stop-opacity",(t.endAlpha||1).toString()),a.appendChild(s),a.appendChild(c),r.appendChild(a);const l=document.createElementNS("http://www.w3.org/2000/svg","g");l.setAttribute("class",t.animated?"arrow-animated":""),e.appendChild(l);this.target.mappings.forEach(e=>{let r=this.target.root.findAll(e.target,this.target);r&&r.length&&r.forEach(e=>{let r=this.target.center,n=e.center;r=this.target.toGlobal(r.x,r.y,this.target.rootModel),n=e.toGlobal(n.x,n.y,e.rootModel),a.setAttribute("x1",r.x.toString()),a.setAttribute("y1",r.y.toString()),a.setAttribute("x2",n.x.toString()),a.setAttribute("y2",n.y.toString());const{linePath:i,headPath:s}=this.createArrowPaths(r,n,t.arrowHeadLength),c=document.createElementNS("http://www.w3.org/2000/svg","path");c.setAttribute("d",i),c.setAttribute("stroke",`url(#${o})`),c.setAttribute("stroke-width",String(t.lineWidth||2)),c.setAttribute("fill","none"),c.setAttribute("data-target-id",e.state?.id||""),c.setAttribute("data-source-id",this.target.state?.id||"");const u=document.createElementNS("http://www.w3.org/2000/svg","path");u.setAttribute("d",s),u.setAttribute("fill",t.arrowColor||"#FFA500"),u.setAttribute("stroke","none"),l.appendChild(c),l.appendChild(u)})}),this.vectorElement=e}createArrowPaths(t,e,r){const n=e.x-t.x,i=e.y-t.y,o=Math.atan2(i,n),a=e.x+r*Math.cos(o+Glt.ARROW_ANGLE_1),s=e.y+r*Math.sin(o+Glt.ARROW_ANGLE_1),c=e.x+r*Math.cos(o+Glt.ARROW_ANGLE_2),l=e.y+r*Math.sin(o+Glt.ARROW_ANGLE_2);return{linePath:`M ${t.x} ${t.y} L ${e.x} ${e.y}`,headPath:`M ${e.x} ${e.y} L ${a} ${s} L ${c} ${l} Z`}}updateDOMElements(){if(!this.target.app?.isEditMode)return void this.removeDOMElements();const t=this.target.mappings;t&&t===this.currentMappings?this.vectorElement&&this.updatePosition():(this.removeDOMElements(),requestAnimationFrame(()=>{this.createDOMElements()}))}updatePosition(){const t=this.getDecoratorType(),e=this.getSvgContainer().querySelector(`g[data-decorator-type-container="${t}"]`);if(!e)return;const r=this.getVectorGroupId(),n=e.querySelector(`g[data-decorator-group-id="${r}"]`);if(!n)return;const i=this.options;if(!this.target.mappings||!this.target.mappings.length)return;const o=n.querySelector("g.arrow-animated")||n,a=Array.from(o.querySelectorAll('path[fill="none"]')),s=Array.from(o.querySelectorAll('path[stroke="none"]'));if(0===a.length)return;const c=e.querySelector(`defs[data-defs-for="${t}"]`);if(!c)return;const l=c.querySelector("linearGradient");if(!l)return;const u=this.target.mappings;let h=[];u.forEach(t=>{const e=this.target.root.findAll(t.target,this.target);e&&e.length&&(h=[...h,...e])});for(let t=0;t<Math.min(a.length,s.length,h.length);t++){const e=a[t],r=s[t],n=h[t];let o=this.target.center,c=n.center;o=this.target.toGlobal(o.x,o.y,this.target.rootModel),c=n.toGlobal(c.x,c.y,n.rootModel);const{linePath:u,headPath:f}=this.createArrowPaths(o,c,i.arrowHeadLength);e.setAttribute("d",u),r.setAttribute("d",f),0===t&&l&&(l.setAttribute("x1",o.x.toString()),l.setAttribute("y1",o.y.toString()),l.setAttribute("x2",c.x.toString()),l.setAttribute("y2",c.y.toString()))}}removeDOMElements(){this.currentMappings=null;try{if(this.overlay){const t=this.getSvgContainer();if(t){const e=this.getDecoratorType(),r=t.querySelector(`g[data-decorator-type-container="${e}"]`);if(r){const t=r.querySelector(`defs[data-defs-for="${e}"]`);if(t){t.querySelectorAll("style").forEach(t=>t.remove());t.querySelectorAll("linearGradient").forEach(t=>t.remove())}}}}this.animationElements=[],super.removeDOMElements()}catch(t){console.error("데이터 스프레드 데코레이터 요소 제거 중 오류:",t)}}invalidate(){this.updatePosition()}}Glt.DECORATOR_TYPE="data-spread",Glt.ARROW_ANGLE_1=160*Math.PI/180,Glt.ARROW_ANGLE_2=200*Math.PI/180;class Hlt extends Nlt{constructor(t,e,r={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:2,padding:2,fontSize:"12px",fontFamily:"Arial",offsetX:4,offsetY:4,...r}),this.textElements=[],this.rectElements=[]}createDOMElements(){this.updateDOMElements()}updateDOMElements(){if(!this.target.isLine||!this.target.isLine())return void this.removeDOMElements();const{offsetX:t,offsetY:e,padding:r,textColor:n,bgColor:i,cornerRadius:o,fontSize:a,fontFamily:s}=this.options,c=this.getOrCreateDecoratorGroup(!0);this.textElements=[],this.rectElements=[];const{fromEnd:l,toEnd:u}=this.target;[l,u].filter(Boolean).forEach(l=>{const{component:u,anchor:h}=l;if(!h)return;const{name:f,position:d}=h||{},p=u.rootModel;if(!p||!f||!d)return;let{x:g,y:v}=u.toGlobal(d.x,d.y,p);const y=document.createElementNS("http://www.w3.org/2000/svg","g"),m=document.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("text-anchor","middle"),m.setAttribute("dominant-baseline","middle"),m.setAttribute("x","0"),m.setAttribute("y","0"),m.setAttribute("fill",n),m.setAttribute("font-family",s),m.setAttribute("font-size",a),m.textContent=f,c.appendChild(m);const b=m.getBBox();c.removeChild(m);const x=document.createElementNS("http://www.w3.org/2000/svg","rect"),w=b.width+2*r,A=b.height+2*r;g+=t+w/2,v+=e+A/2,x.setAttribute("x",(-w/2).toString()),x.setAttribute("y",(-A/2).toString()),x.setAttribute("width",w.toString()),x.setAttribute("height",A.toString()),x.setAttribute("rx",o.toString()),x.setAttribute("ry",o.toString()),x.setAttribute("fill",i),y.appendChild(x),y.appendChild(m),y.setAttribute("transform",`translate(${g}, ${v})`),c.appendChild(y),this.rectElements.push(x),this.textElements.push(m)})}updatePosition(){super.updatePosition(),this.updateDOMElements()}invalidate(){this.updatePosition()}}Hlt.DECORATOR_TYPE="link",Hct.registerDecorator("bouncing-arrow",zlt),Hct.registerDecorator("animated-icon",Ult),Hct.registerDecorator("border-highlighting",Blt),Hct.registerDecorator("anchors",$lt),Hct.registerDecorator("decotag",Ylt),Hct.registerDecorator("data-spread",Glt),Hct.registerDecorator("link",Hlt);const Wlt={x:1,y:1},qlt={x:0,y:0};class Vlt extends Ilt{dispose(){super.dispose(),this._overlay=null,this._decoratorOverlay&&(Wct.getInstance().removeOverlay(this._decoratorOverlay),this._decoratorOverlay.parentNode&&this._decoratorOverlay.parentNode.removeChild(this._decoratorOverlay),this._decoratorOverlay=null),this._decoratorAuxOverlay&&(Wct.getInstance().removeOverlay(this._decoratorAuxOverlay),this._decoratorAuxOverlay.parentNode&&this._decoratorAuxOverlay.parentNode.removeChild(this._decoratorAuxOverlay),this._decoratorAuxOverlay=null)}contains(t,e){return!0}isRootModel(){return!0}get stuck(){return!0}get layout(){return ult}get overlay(){if(!this._overlay){var t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","model-layer-overlay"),this.element.insertBefore(t,this.auxCanvas),this._overlay=t,this._repositionOverlay()}return this._overlay}get auxOverlay(){return this.element}get decoratorOverlay(){if(!this._decoratorOverlay){const t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","decorator-overlay"),t.id=`decorator-overlay-${Date.now()}`,this.element.insertBefore(t,this.overlay),this._decoratorOverlay=t,Wct.getInstance().addOverlay(t)}return this._decoratorOverlay}get decoratorAuxOverlay(){if(!this._decoratorAuxOverlay){const t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style.zIndex="100",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","decorator-aux-overlay"),t.id=`decorator-overlay-${Date.now()}`,this.element.appendChild(t),this._decoratorAuxOverlay=t,Wct.getInstance().addOverlay(t)}return this._decoratorAuxOverlay}createElement(){const t=super.createElement();return this._overlay&&t.appendChild(this._overlay),t}resize(){if(this.target){var{width:t,height:e,fitMode:r}=this.model;this.root.fitMode?r=this.root.fitMode:r||(r="ratio");try{var n=getComputedStyle(this.target)}catch(t){return void console.error(t,this.target)}var i=n?parseFloat(n.getPropertyValue("width")):this.target.clientWidth,o=n?parseFloat(n.getPropertyValue("height")):this.target.clientHeight;switch(r){case"both":case"ratio":break;case"width":o=e*i/t,this.element.style.overflowX="hidden",this.element.style.overflowY="auto";break;case"height":i=t*o/e,this.element.style.overflowX="auto",this.element.style.overflowY="hidden";break;default:i=Math.max(t,i),o=Math.max(e,o),this.element.style.overflowX=i>t?"hidden":"auto",this.element.style.overflowY=o>e?"hidden":"auto"}this.fitSize(this.element,!0),this.fitSize(this.canvas,!0,i,o),this.fitSize(this.auxCanvas,!0,i,o)}}get MPP(){var{scale:t={x:1,y:1},unit:e}=this.model;switch(e){case"mm":case"cm":return 1/this.app.PPM/t.x;case"in":return 1/this.app.PPI/t.x;default:return 1/t.x}}capturePath(t,e){var r=this.layout.capturables(this);for(let n=r.length-1;n>=0;n--){let i=r[n];if(!i.isContainer())continue;let o=i.capturePath(t,e);if(o)return o}return!1}getOverlay(t){return t&&!t.scalable?this.auxOverlay:this.overlay}getDecoratorOverlay(t){return t&&!t.scalable?this.decoratorAuxOverlay:this.decoratorOverlay}get eventMap(){return{"(self)":{"(all)":{change:this._onchanged_all,mouseenter:this._onmouseenter_all,mouseleave:this._onmouseleave_all,click:this._onclick,mousedown:this._onmousedownup,mouseup:this._onmousedownup,touchstart:this._onmousedownup,touchend:this._onmousedownup,"deco-reset":t=>this.resetDecorator(null,t.origin)},"(descendant)":{"deco-anchors":(t,e)=>this.applyDecorator(e.origin,"anchors",t),"deco-anchors-off":t=>this.offdecorator(t.origin,"anchors"),"deco-anchors-reset":t=>this.resetDecorator("anchors"),"deco-dataspread":(t,e)=>this.applyDecorator(e.origin,"data-spread",t),"deco-dataspread-off":t=>this.offdecorator(t.origin,"data-spread"),"deco-dataspread-reset":t=>this.resetDecorator("data-spread"),"deco-link":(t,e)=>this.applyDecorator(e.origin,"link",t),"deco-link-off":t=>this.offdecorator(t.origin,"link"),"deco-link-reset":t=>this.resetDecorator("link"),"deco-arrow":(t,e)=>this.applyDecorator(e.origin,"bouncing-arrow",t),"deco-arrow-off":t=>this.offdecorator(t.origin,"bouncing-arrow"),"deco-arrow-reset":t=>this.resetDecorator("bouncing-arrow"),"deco-icon":(t,e)=>this.applyDecorator(e.origin,"animated-icon",t),"deco-icon-off":t=>this.offdecorator(t.origin,"animated-icon"),"deco-icon-reset":t=>this.resetDecorator("animated-icon"),"deco-border":(t,e)=>this.applyDecorator(e.origin,"border-highlighting",t),"deco-border-off":t=>this.offdecorator(t.origin,"border-highlighting"),"deco-border-reset":t=>this.resetDecorator("border-highlighting"),"deco-tag":(t,e)=>this.applyDecorator(e.origin,"decotag",t),"deco-tag-off":t=>this.offdecorator(t.origin,"decotag"),"deco-tag-reset":t=>this.resetDecorator("decotag",t.origin),"deco-off":t=>this.offdecorator(t.origin),mouseenter:this.onmouseenterForDecorator,mouseleave:this.onmouseleaveForDecorator},"(self)":{change:this.onChangeForDecorator,redraw:this.onRedrawForDecorator}}}}onRedrawForDecorator(){Wct.getInstance().invalidateOverlay(this.decoratorOverlay),Wct.getInstance().invalidateOverlay(this.decoratorAuxOverlay)}closeScene(t){requestAnimationFrame(()=>this.overlay.dispatchEvent(new CustomEvent("close-scene",{bubbles:!0,composed:!0,detail:t})))}_repositionOverlay(){var t=this._overlay;if(t){var{translate:e=qlt,scale:r=Wlt,rotation:n=0}=this.model,{left:i,top:o,width:a,height:s}=this.bounds;t.style.left=i+"px",t.style.top=o+"px",t.style.transform=`rotate(${n}rad) scale(${r.x}, ${r.y}) perspective(1px)`,t.style.marginLeft=`${e.x}px`,t.style.marginTop=`${e.y}px`}}onchange(t){var e=this._model;delete e.id,delete e.text,delete e.class,this._repositionOverlay()}_onchanged_all(t,e,r){this.invalidate()}_onmouseenter_all(t,e){if(t.stopPropagation(),this.app&&!this.app.isEditMode&&e){var r=e.origin;if(!(r instanceof Vlt)&&r.model.event&&r.model.event.hover&&!r.hidden){var n=r.model.event.hover;n&&this._doEventAction(n,r,!0,t)}}}_onmouseleave_all(t,e){if(t.stopPropagation(),e){var r=e.origin;if(this.app&&!this.app.isEditMode){var n=r.model.event&&r.model.event.hover;n&&this._doEventAction(n,r,!1,t)}}}_onclick(t,e){if(t.stopPropagation(),!this.app.isEditMode&&e){var r=e.origin,n=r.model.event?.tap;n&&this._doEventAction(n,r,!0,t)}}_onmousedownup(t,e){if(t.stopPropagation(),!this.app.isEditMode&&e){var r=e.origin,n=r.model.event?.tap;n&&n.pressed&&this._doMouseDownUpEventAction(n,r,"mousedown"==t.type||"touchstart"==t.type,t)}}_doMouseDownUpEventAction(t,e,r,n){var{pressed:i=!1}=t;i&&(r?function(t){if(!t.hasOwnProperty("_backupShadow")){var e=t.get("shadow");t._backupShadow=e;var{left:r=0,top:n=0}=e||{};t.delta("tx",r),t.delta("ty",n),t.set("shadow",{})}}(e):function(t){t.hasOwnProperty("_backupShadow")&&(t.delta("tx",0),t.delta("ty",0),t.set("shadow",t._backupShadow),delete t._backupShadow)}(e))}_doEventAction(t,e,r,n){var{action:i,target:o,value:a,emphasize:s=!1,restore:c=!1,pressed:l=!1,options:u}=t;if(o&&(o=e.access(o)),a&&(a=e.access(a)),s&&(r?function(t){const{hover:e}=t.state.event||{},{emphasize:r}=e||{};if(t.hasOwnProperty("_backupStrokeStyle"))return;if("__backup_emphasize"in t)return;const{strokeStyle:n,lineWidth:i,fillStyle:o}=t.state;t.__backup_emphasize={strokeStyle:n,lineWidth:i,fillStyle:o},t.setState(r)}(e):c&&function(t){"__backup_emphasize"in t&&(t.setState(t.__backup_emphasize),delete t.__backup_emphasize)}(e)),i)switch(i){case"data-toggle":if(!o)return;(r||c)&&this.root.findAll(o,e).forEach(t=>{t.data=!t.data});break;case"data-tristate":if(!o)return;(r||c)&&this.root.findAll(o,e).forEach(t=>{let e=Math.round(Math.max(Number(t.data)||0,0));t.data=(e+(r?1:2))%3});break;case"data-spreading":if(!o)return;if(r){var h=e.access(a);this.root.findAll(o,e).forEach(t=>{t.executeMappings(!0)})}break;case"data-set":if(!o)return;if(r){h=e.access(a);this.root.findAll(o,e).forEach(t=>{t.data=h})}break;case"partial-data-set":if(!o)return;if(r){h=e.access(a);this.root.findAll(o,e).forEach(t=>{t.data={...t.data,...h}})}break;case"value-set":if(!o)return;if(r){h=e.access(a);this.root.findAll(o,e).forEach(t=>{t.value=h})}break;case"partial-value-set":if(!o)return;if(r){h=e.access(a);this.root.findAll(o,e).forEach(t=>{t.value={...t.value,...h}})}break;case"infoWindow":case"info-window":if(!o)return;"click"==n.type||r?slt.show(e,o,c,{x:n.offsetX,y:n.offsetY}):c&&slt.hide(e,o);break;case"toggle-info-window":if(!o)return;slt.toggle(e,o,!1,{x:n.offsetX,y:n.offsetY});break;case"popup":case"modal-popup":if(!o)return;let t=u&&"input"in u?u.input:"(self)",s=!u||(!("output"in u)||u.output);ylt.show(e,o,{data:t&&this.root.findFirst(t,e)?.data,output:s,modal:"modal-popup"===i,closable:!0,draggable:!0,origin:"auto"});break;case"close-scene":this.closeScene(e.data);break;case"goto":case"goto-playlist":this.trigger(i,o,u,e);break;case"mouse-cursor":r?this.target.style.cursor=o||"auto":c&&(this.target.style.cursor="auto");break;default:this.trigger(i,o,a,e)}}applyDecorator(t,e,r={}){const n=this.getDecoratorOverlay(t);if(n){Wct.getInstance().addToOverlay(n,t,e,r)}}offdecorator(t,e){const r=this.getDecoratorOverlay(t);if(r){Wct.getInstance().removeFromOverlay(r,t,e)}}resetDecorator(t,e){const r=this.getDecoratorOverlay(e);r&&Wct.getInstance().removeAllFromOverlay(r,t)}onChangeForDecorator(t,e,r){const{origin:n}=r,i=this.getDecoratorOverlay(n);Wct.getInstance().invalidateOverlay(i)}onmouseenterForDecorator(t,e){const{origin:r}=e;r.decorators&&r.decorators.forEach(t=>{this.applyDecorator(r,t)})}onmouseleaveForDecorator(t,e){const{origin:r}=e;r.decorators&&r.decorators.forEach(t=>{this.offdecorator(r,t)})}}function Xlt(t,e){const r=t.state.refid;return t.root.findAll(t=>t.isLine()&&t.from.component===r&&(!e||t.from.anchor===e))}function Klt(t,e){const r=t.state.refid;return t.root.findAll(t=>t.isLine()&&t.to.component===r&&(!e||t.to.anchor===e))}Vlt.Popup=ylt,tlt.register("model-layer",Vlt);var Qlt=t=>class extends t{isConnectable(){return!0}postrender(t){super.postrender(t),this._draw_anchors(t)}_draw_anchors(t){var e=this.anchors||[];t.save(),e.forEach(e=>{var{position:{x:r,y:n},draw:i}=e;if(i){t.beginPath();try{i.call(e,t,this)}catch(t){console.error(t)}t.closePath()}}),t.restore()}contains(t,e){if(n=super.contains(t,e))return n;var r=this.anchors||[];for(let i of r){const r=i.bounds;if(!r)continue;const{left:o,top:a,width:s,height:c}=r;var n;if(n=t<Math.max(o+s,o)&&t>Math.min(o+s,o)&&e<Math.max(a+c,a)&&e>Math.min(a+c,a))return n}return!1}findInOutLines(t){return function(t,e){const r=t.state.refid;return t.root.findAll(t=>!(!t.isLine()||(t.from.component!==r||e&&t.from.anchor!==e)&&(t.to.component!==r||e&&t.to.anchor!==e)))}(this,t)}findOutletLines(t){return Xlt(this,t)}findOutletEnds(t){return function(t,e){return Xlt(t,e).map(t=>t.toEnd?.component).filter(Boolean)}(this,t)}findInletLines(t){return Klt(this,t)}findInletEnds(t){return function(t,e){return Klt(t,e).map(t=>t.fromEnd?.component).filter(Boolean)}(this,t)}};const Jlt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0}}],help:"scene/component/rect"};var Zlt={ondragmove:function(t,e,r){var{left:n,top:i,width:o,height:a}=r.model,s=(r.fromParent(t.x,t.y).x-n)/(o/2)*100;s=rlt(s,o,a),r.set({round:s})}};class tut extends(Qlt(nlt(elt))){is3dish(){return!0}get controls(){var{left:t,top:e,width:r,round:n,height:i}=this.state;return[{x:t+r/2*((n=null==n?0:rlt(n,r,i))/100),y:e,handler:Zlt}]}get nature(){return Jlt}}tlt.register("rect",tut);const eut=[1,2,10,20,50,50,50,50,50,50];class rut extends(nlt(elt)){render(t){const{lineWidth:e=1,fillStyle:r="lightgray",font:n="15px Arial",left:i,top:o,rotation:a,origin:s,margin:c,width:l,height:u,side:h="bottom",strokeStyle:f="#000000",scale:d=1}=this.state;t.translate(i,o),t.beginPath();const p=Math.round(e/2);t.rect(-p,-p,l+2*p,u+2*p),t.clip(),t.beginPath(),t.rect(0,0,l,u),r&&(t.fillStyle=r,t.fill()),t.lineWidth=e,t.strokeStyle=f,t.stroke(),t.beginPath(),t.font=n;var g="bottom"!==h,v=g?0:u,y=4*u/5,m=2*u/3,b=1*u/2,x=3*u/5;g&&(y=u-y,m=u-m,b=u-b,x=u-1.5*u/5);var w=d*this.app.PPM/this.root.unitScale,A=Math.ceil(s/w),_=this.app.PPM/w,E=_<=1.1?1:eut[Math.round(_)]||100;1!=E&&(A+=(E-A%E)%E);var S=Math.ceil(A*w),k=s+l;for(t.fillStyle=f;S<k;){if(A%10==0){t.moveTo(S-s,b),t.lineTo(S-s,v);let e=(A/10).toString(),r=t.measureText(e);t.fillText(e,S-s-r.width-6,x)}else A%5==0?(t.moveTo(S-s,m),t.lineTo(S-s,v)):(t.moveTo(S-s,y),t.lineTo(S-s,v));A+=E,S=Math.ceil(A*w)}}}tlt.register("ruler",rut);const nut=20,iut=20,out=90*Math.PI/180,aut="9px Verdana",sut=20,cut="#f4f4f4",lut="#999";function uut(t,e,r){return{left:-t.x,top:-t.y,width:nut,height:sut}}function hut(t,e,r,n){return{left:nut-t.x,top:0-t.y,origin:20-t.x,width:e-nut,height:sut}}function fut(t,e,r,n){var i={x:0-t.x+10,y:-t.y+iut+(r-iut)/2},o=tlt.transcoordRR(0-t.x,-t.y+iut,i,out);return{left:o.x-(r-iut),top:o.y,origin:20-t.y,width:r-iut,height:sut}}function dut(t){var e=t.get("translate");return{left:-e.x,top:-e.y,width:t.canvas.width/Cst,height:t.canvas.height/Cst}}tlt.register("guide-layer",class extends Plt{constructor(t,e){super(t,e),this.appScale={x:1,y:1},"disabled"!==t.ruler&&(this.hruler=new rut({left:nut,top:0,origin:20,margin:0,height:sut,unit:"m",rotation:0,font:aut,fillStyle:cut,strokeStyle:lut,capturable:!1}),this.vruler=new rut({left:0,top:0,origin:20,margin:0,height:sut,unit:"m",rotation:out,font:aut,side:"top",fillStyle:cut,strokeStyle:lut,capturable:!1}),this.origin_rect=new tut({left:-20,top:-20,width:20,height:20,fillStyle:cut,strokeStyle:lut,lineWidth:1}),this.addComponent(this.hruler),this.addComponent(this.vruler),this.addComponent(this.origin_rect)),this.invalidate()}get capturable(){return!1}ready(){if(super.ready(),this.hruler){var t=this.rootModel,e=Object.assign({},t.get("translate"));e.x<nut&&(e.x+=nut),e.y<iut&&(e.y+=iut);var r=t.get("scale")||{x:1,y:1};this.appScale=r,this.hruler.set("scale",r.x),this.vruler.set("scale",r.y),t.set("translate",e),this.set("translate",e),this.screen_coord=dut(this);var{width:n,height:i}=this.screen_coord;this.hruler.set(hut(e,n,0,this.hruler)),this.vruler.set(fut(e,0,i,this.vruler)),this.origin_rect.set(uut(e))}else this.screen_coord=dut(this)}resize(){super.resize(),this.screen_coord=dut(this);var{width:t,height:e}=this.screen_coord;this.hruler&&(this.hruler.set(hut(this.model.translate,t,0,this.hruler)),this.vruler.set(fut(this.model.translate,0,e,this.vruler)),this.origin_rect.set(uut(this.model.translate)))}render(t){if(this.guide){t.save();var{x:e,y:r}=this.guide,{top:n,left:i,width:o,height:a}=this.screen_coord;t.beginPath(),t.moveTo(e,n),t.lineTo(e,n+a),t.moveTo(i,r),t.lineTo(i+o,r),t.lineWidth=1,t.strokeStyle="tomato",t.setLineDash([2,3]),t.font="10px tahoma",t.fillStyle="#333";var s=this.toGlobal(e,r,this.rootModel);t.textBaseline=s.y>200?"bottom":"top",t.textAlign=s.x>200?"right":"left";var c=s.y>200?-5:5,l=s.x>200?-5:5,u=Math.round(e/this.appScale.x),h=Math.round(r/this.appScale.y);t.fillText(` ${u}, ${h} `,e+l,r+c),t.stroke(),t.restore()}}get guide(){return this._guide}set guide(t){this._guide=t,this.invalidate()}contains(t,e){return!0}get eventMap(){return{"(root)":{"(descendant)":{mousemove:this.onmousemove_child,mouseout:this.onmouseout_child,dragmove:this.onmousemove_child},"model-layer":{change:this.onchange_root_model}},"(self)":{"(descendant)":{mousedown:this.onmousedown_origin}}}}onmousedown_origin(t,e){this.rootModel.set("translate",{x:20,y:20})}onchange_root_model(t,e,r){if(t.scale&&(this.appScale=t.scale,this.hruler&&(this.hruler.set("scale",t.scale.x),this.vruler.set("scale",t.scale.y))),t.translate&&this.set({translate:{x:t.translate.x,y:t.translate.y}}),t.scale||t.translate){if(this.screen_coord=dut(this),this.hruler){var{translate:n}=this.model,{width:i,height:o}=this.screen_coord;this.hruler.set(hut(n,i,0,this.hruler)),this.vruler.set(fut(n,0,o,this.vruler)),this.origin_rect.set(uut(n))}this._guide=null}this.invalidate()}onmouseout_child(t){this._guide=null,this.invalidate()}onmousemove_child(t,e){t.target&&"CANVAS"!==t.target.tagName?this.guide=null:this.guide=this.toLocal(t.offsetX,t.offsetY)}});tlt.register("shift-layer",class extends Plt{ready(){super.ready();var t=this.rootModel.get("translate");this.set("translate",t)}render(t){}get pointerEvents(){return"none"}contains(t,e){return!(2!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown,keyup:this.onkeyup}}}}onkeydown(t){"Space"===t.code&&void 0===this.before_mode&&(this.before_mode=this.app.mode,this.app.mode=2)}onkeyup(t){"Space"===t.code&&(void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode)}ondragstart(t){this.last_position=this.toLocal(t.offsetX,t.offsetY)}ondragmove(t){var{x:e,y:r}=this.toLocal(t.offsetX,t.offsetY);this.rootModel.move({x:e-this.last_position.x,y:r-this.last_position.y},!1),this.last_position=this.toLocal(t.offsetX,t.offsetY)}});class put{constructor(t){this.params=Object.assign({},t)}excute(){}}class gut extends put{execute(){this.params.changes.forEach(t=>t.component.set(t.after))}static before(t){return t.map(t=>({component:t}))}static after(t,e){e.execute(null,!1)}static around(t,e,r){e.call(r),t.execute(null,!1)}}const vut="left",yut="right",mut="center",but="bottom",xut="middle",wut=[vut,yut,mut,"top",xut,but];function Aut(t){if(this.hasSameParentForAllSelected&&-1!=wut.indexOf(t)){var e=this.selected.filter(t=>!t.stuck);if(!(e.length<=1)){var r=this.app.commander;gut.around(r,function(){!function(t,e){var r=JSON.parse(JSON.stringify(e[0].bounds)),n=r.left+r.width,i=r.top+r.height;for(let t=0;t<e.length;t++){let o=e[t].bounds;r.left=o.left>r.left?r.left:o.left,r.top=o.top>r.top?r.top:o.top,n=o.left+o.width>n?o.left+o.width:n,i=o.top+o.height>i?o.top+o.height:i}switch(r.width=n-r.left,r.height=i-r.top,t){case vut:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:r.left,top:n.top,width:n.width,height:n.height}}break;case mut:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:r.left+r.width/2-n.width/2,top:n.top,width:n.width,height:n.height}}break;case yut:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={left:n-r.width,top:r.top,width:r.width,height:r.height}}break;case"top":for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:n.left,top:r.top,width:n.width,height:n.height}}break;case xut:for(let t=0;t<e.length;t++){let n=e[t].bounds;e[t].bounds={left:n.left,top:r.top+r.height/2-n.height/2,width:n.width,height:n.height}}break;case but:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={left:r.left,top:i-r.height,width:r.width,height:r.height}}break;default:;}}(t,e)})}}}const _ut="VERTICAL",Eut=[_ut,"HORIZONTAL"];function Sut(t){if(this.hasSameParentForAllSelected&&-1!=Eut.indexOf(t)){var e=this.selected;if(!(e.length<=1)){var r=this.app.commander;gut.around(r,function(){!function(t,e){var r=e.filter(t=>!t.stuck).slice(0);r.sort(function(e,r){let n=e.center,i=r.center;return t===_ut?n.y-i.y:n.x-i.x});var n=r.reduce((e,r)=>e+(t===_ut?r.bounds.height:r.bounds.width),0),i=r[0].bounds,o=r[r.length-1].bounds,a=((t===_ut?o.top+o.height-i.top:o.left+o.width-i.left)-n)/(r.length-1),s=t===_ut?i.top+i.height:i.left+i.width;for(let e=1;e<r.length-1;e++){let n=r[e],i=n.bounds;s+=a,t===_ut?(i.top=s,s+=i.height):(i.left=s,s+=i.width),n.bounds=i}}(t,e)})}}}function kut(t){for(var e=0;t&&!t.isRootModel();)e+=t.get("rotation")||0,t=t.parent;return e%(2*Math.PI)}class Mut extends put{execute(){this.params.changes.forEach(t=>{let{component:e,to_container:r,to_index:n,to_left:i,to_top:o,hint:a}=t,s=function(t){if(t.isRootModel())return t.bounds;var{bounds:e,rotatePoint:r}=t,n=r;return{left:(n=t.toScene(n.x,n.y)).x-(r.x-e.left),top:n.y-(r.y-e.top),width:e.width,height:e.height}}(e),c=kut(e);if(e.removeSelf(!r),e.bounds=s,e.set("rotation",c),r){e.set("rotation",function(t,e){return((t.get("rotation")||0)-kut(e))%(2*Math.PI)}(e,r));let a=function(t,e){if(e.isRootModel())return t.bounds;var{bounds:r,rotatePoint:n}=t,i=e.fromScene(n.x,n.y),o=e.bounds;return{left:i.x-(n.x-r.left)-o.left,top:i.y-(n.y-r.top)-o.top,width:r.width,height:r.height}}(e,r);t.to_left=void 0!==i?i:a.left,t.to_top=void 0!==o?o:a.top,e.bounds={left:t.to_left,top:t.to_top,width:a.width,height:a.height},void 0===n?r.addComponent(e):r.insertComponentAt(e,n)}})}}function Out(t,e,r){this.app.commander.execute(new Mut({changes:[{component:t,to_container:e,to_index:r}]}))}function Tut(t){var e=this.selected.filter(t=>!t.stuck);if(!(0==e.length||e[0].isRootModel()||e.length>1&&("forward"==t||"backward"==t))){var r,n=e[0].parent;if("forward"==t){let t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t+1}]}else if("backward"==t){let t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t-1}]}else r=e.filter(t=>t.parent===n).sort((e,r)=>{let i=n.indexOf(e)<n.indexOf(r);return"front"==t?i:!i}).map((e,r)=>(n.indexOf(e),{component:e,to_container:n,to_index:"front"==t?n.components.length-r-1:r}));var i=new Mut({changes:r});this.app.commander.execute(i)}}function Put(t,e,r,n){var i=tlt.register(t.type);if(!i)return Tst("Class not found",t.type),null;r&&(t.refid=r(t.refid)),t.id&&n&&n(t.id)&&delete t.id;var o=new i(t,e);return t.components&&o.isContainer()&&(t.components.forEach(t=>{var i=Put(t,e,r,n);i&&o.addComponent(i)}),delete t.components),o.created(),o}function Iut(t,e){var r=Xat(t.hierarchy);return delete r.id,Put(r,t.app,e)}var Cut=Object.freeze({__proto__:null,compile:Put,duplicate:Iut,select:Wst,match:Yst});function Rut(t,e,r){t instanceof Array||(t=[t]),r||(r=this.model_layer);var n=[],i=new Map;this.selected=t.map(t=>{try{return Put(t,r.app,t=>{const e=this.getNewRefid();return void 0!==t&&i.set(t,e),e},t=>(this.indexMap[t]||[])[0])}catch(t){return console.warn(t),!1}}).filter(Boolean).map(t=>{let{left:o,top:a,width:s,height:c,x:l,y:u,cx:h,cy:f}=e;return t.replaceRefids(i),isNaN(o)||isNaN(a)||isNaN(s)||isNaN(c)||(t.bounds={left:o,top:a,width:s,height:c}),isNaN(l)||isNaN(u)||t.move({x:l,y:u},!1),isNaN(h)||isNaN(f)||(t.center={x:h,y:f}),n.push({component:t,to_container:r}),t}),this.app.commander.execute(new Mut({changes:n}))}function Dut(){var t=[],e=new Map;if(this.selected=this.selected.filter(t=>!t.isRootModel()).map(r=>{let n=Iut(r,t=>{const r=this.getNewRefid();return void 0!==t&&e.set(t,r),r});return n.move({x:20,y:20},!1),t.push({component:n,to_container:r.parent}),n}).map(t=>(t.replaceRefids(e),t)),0!=t.length){var r=new Mut({changes:t});this.app.commander.execute(r)}}function Lut(){var t=this.selected;this.selected=[];for(var e=null,r=t.filter(t=>!t.isRootModel()&&(t.parent.focusible||t.parent.isGroup())).map(t=>(e||(e=t.parent),{component:t,to_container:null}));e&&e.isGroup();){let t=[];if(e.components.filter(t=>!r.find(e=>e.component===t)).forEach(e=>t.push(e)),t.length>1)break;let n=e.parent;t.forEach(t=>r.push({component:t,to_container:n})),r.push({component:e,to_container:null}),e=n}r.length>0&&this.app.commander.execute(new Mut({changes:r})),e&&e.calculateBounds&&e.calculateBounds()}function jut(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.on(t,e,r);break;case"mode":this.app?.on(t,e,r);break;default:this.on(t,e,r)}}function Nut(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.once(t,e,r);break;case"mode":this.app.once(t,e,r);break;default:this.once(t,e,r)}}function Fut(t,e,r){switch(t){case"execute":case"redo":case"undo":case"command-reset":this.app?.commander.off(t,e,r);break;case"mode":this.app?.off(t,e,r);break;default:this.off(t,e,r)}}function zut(t){var e=this.target_element,r=t||this.fitMode,n=this;function i(t){n.fit(r),document.fullscreen||document.mozFullScreen||document.webkitIsFullScreen||document.msFullscreenElement||["fullscreenchange","mozfullscreenchange","webkitfullscreenchange","MSFullscreenChange"].forEach(t=>document.removeEventListener(t,i))}["fullscreenchange","mozfullscreenchange","webkitfullscreenchange","MSFullscreenChange"].forEach(t=>document.addEventListener(t,i)),e.requestFullScreen?e.requestFullScreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.msRequestFullscreen&&e.msRequestFullscreen()}var Uut=0;function But(){var t=this.selected.filter(t=>!t.isRootModel()).map(t=>t.hierarchy);if(0!=t.length)return Uut=0,JSON.stringify(t,null,2)}function $ut(){Uut=0;var t=But.call(this);return Lut.call(this),t}function Yut(t){if(t)try{Uut++,Rut.call(this,JSON.parse(t),{x:15*Uut,y:15*Uut})}catch(e){Ost(e,t)}}var Gut=function(){return{escape:function(t){return t.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")},parseExtension:t,mimeType:function(e){var r=t(e).toLowerCase();return(n="application/font-woff",i="image/jpeg",{woff:n,woff2:n,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:i,jpeg:i,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"})[r]||"";var n,i},dataAsUrl:function(t,e){return"data:"+e+";base64,"+t},isDataUrl:function(t){return-1!==t.search(/^(data:)/)},canvasToBlob:function(t){return t.toBlob?new Promise(function(e){t.toBlob(e)}):function(t){return new Promise(function(e){for(var r=window.atob(t.toDataURL().split(",")[1]),n=r.length,i=new Uint8Array(n),o=0;o<n;o++)i[o]=r.charCodeAt(o);e(new Blob([i],{type:"image/png"}))})}(t)},resolveUrl:function(t,e){var r=document.implementation.createHTMLDocument(),n=r.createElement("base");r.head.appendChild(n);var i=r.createElement("a");return r.body.appendChild(i),n.href=e,i.href=t,i.href},getAndEncode:function(t){var e=3e4;Zut.impl.options.cacheBust&&(t+=(/\?/.test(t)?"&":"?")+(new Date).getTime());return new Promise(function(r){var n,i=new XMLHttpRequest;if(i.onreadystatechange=a,i.ontimeout=s,i.responseType="blob",i.timeout=e,i.open("GET",t,!0),i.send(),Zut.impl.options.imagePlaceholder){var o=Zut.impl.options.imagePlaceholder.split(/,/);o&&o[1]&&(n=o[1])}function a(){if(4===i.readyState)if(200===i.status){var e=new FileReader;e.onloadend=function(){var t=e.result.split(/,/)[1];r(t)},e.readAsDataURL(i.response)}else n?r(n):c("cannot fetch resource: "+t+", status: "+i.status)}function s(){n?r(n):c("timeout of "+e+"ms occured while fetching resource: "+t)}function c(t){console.error(t),r("")}})},uid:function(){var t=0;return function(){return"u"+e()+t++;function e(){return("0000"+(Math.random()*Math.pow(36,4)|0).toString(36)).slice(-4)}}}(),delay:function(t){return function(e){return new Promise(function(r){setTimeout(function(){r(e)},t)})}},asArray:function(t){for(var e=[],r=t.length,n=0;n<r;n++)e.push(t[n]);return e},escapeXhtml:function(t){return t.replace(/#/g,"%23").replace(/\n/g,"%0A")},makeImage:function(t){return new Promise(function(e,r){var n=new Image;n.onload=function(){e(n)},n.onerror=r,n.src=t})},width:function(t){var r=e(t,"border-left-width"),n=e(t,"border-right-width");return t.scrollWidth+r+n},height:function(t){var r=e(t,"border-top-width"),n=e(t,"border-bottom-width");return t.scrollHeight+r+n}};function t(t){var e=/\.([^\.\/]*?)$/g.exec(t);return e?e[1]:""}function e(t,e){var r=window.getComputedStyle(t).getPropertyValue(e);return parseFloat(r.replace("px",""))}}(),Hut=function(){var t=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:function(t,i,o){return a()?Promise.resolve(t):Promise.resolve(t).then(r).then(function(e){var r=Promise.resolve(t);return e.forEach(function(t){r=r.then(function(e){return n(e,t,i,o)})}),r});function a(){return!e(t)}},shouldProcess:e,impl:{readUrls:r,inline:n}};function e(e){return-1!==e.search(t)}function r(e){for(var r,n=[];null!==(r=t.exec(e));)n.push(r[1]);return n.filter(function(t){return!Gut.isDataUrl(t)})}function n(t,e,r,n){return Promise.resolve(e).then(function(t){return r?Gut.resolveUrl(t,r):t}).then(n||Gut.getAndEncode).then(function(t){return Gut.dataAsUrl(t,Gut.mimeType(e))}).then(function(r){return t.replace(function(t){return new RegExp("(url\\(['\"]?)("+Gut.escape(t)+")(['\"]?\\))","g")}(e),"$1"+r+"$3")})}}(),Wut=function(){return{resolveAll:function(){return t().then(function(t){return Promise.all(t.map(function(t){return t.resolve()}))}).then(function(t){return t.join("\n")})},impl:{readAll:t}};function t(){return Promise.resolve(Gut.asArray(document.styleSheets)).then(function(t){var e=[];return t.forEach(function(t){try{Gut.asArray(t.cssRules||[]).forEach(e.push.bind(e))}catch(e){console.log("Error while reading CSS rules from "+t.href,e.toString())}}),e}).then(function(t){return t.filter(function(t){return t.type===CSSRule.FONT_FACE_RULE}).filter(function(t){return Hut.shouldProcess(t.style.getPropertyValue("src"))})}).then(function(e){return e.map(t)});function t(t){return{resolve:function(){var e=(t.parentStyleSheet||{}).href;return Hut.inlineAll(t.cssText,e)},src:function(){return t.style.getPropertyValue("src")}}}}}(),qut=function(){return{inlineAll:function e(r){return r instanceof Element?n(r).then(function(){return r instanceof HTMLImageElement?t(r).inline().then(()=>r):Promise.all(Gut.asArray(r.childNodes).map(function(t){return e(t)})).then(()=>r)}):Promise.resolve(r);function n(t){var e=t.style.getPropertyValue("background");return e?Hut.inlineAll(e).then(function(e){t.style.setProperty("background",e,t.style.getPropertyPriority("background"))}).then(function(){return t}):Promise.resolve(t)}},impl:{newImage:t}};function t(t){return{inline:function(e){return Gut.isDataUrl(t.src)?Promise.resolve():Promise.resolve(t.src).then(e||Gut.getAndEncode).then(function(e){return Gut.dataAsUrl(e,Gut.mimeType(t.src))}).then(function(e){return new Promise(function(r,n){t.onload=r,t.onerror=n,t.src=e})})}}}}(),Vut={imagePlaceholder:void 0,cacheBust:!1};function Xut(t,e){return function(t){void 0===t.imagePlaceholder?Zut.impl.options.imagePlaceholder=Vut.imagePlaceholder:Zut.impl.options.imagePlaceholder=t.imagePlaceholder;void 0===t.cacheBust?Zut.impl.options.cacheBust=Vut.cacheBust:Zut.impl.options.cacheBust=t.cacheBust}(e=e||{}),Promise.resolve(t).then(function(t){return Qut(t,e.filter,!0)}).then(Jut).then(function(t){var{bgcolor:r,width:n,height:i,style:o,sx:a=1,sy:s=1}=e||{},c=t.style;r&&(c.backgroundColor=r);n&&(c.width=n+"px");i&&(c.height=i+"px");c["margin-left"]="0px",c["margin-top"]="0px",c.transform=`rotate(0rad) translate(0px, 0px) scale(${a}, ${s}) perspective(1px)`,o&&Object.keys(o).forEach(function(t){c[t]=o[t]});return t}).then(function(r){return function(t,e,r){return Promise.resolve(t).then(function(t){return t.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(t)}).then(Gut.escapeXhtml).then(function(t){return'<foreignObject x="0" y="0" width="100%" height="100%">'+t+"</foreignObject>"}).then(function(t){return'<svg xmlns="http://www.w3.org/2000/svg" width="'+e+'" height="'+r+'">'+t+"</svg>"}).then(function(t){return"data:image/svg+xml;charset=utf-8,"+t})}(r,e.width||Gut.width(t),e.height||Gut.height(t))})}function Kut(t,e){return Xut(t,e).then(Gut.makeImage).then(Gut.delay(100)).then(function(r){var n=function(t){var r=document.createElement("canvas");if(r.width=e.width||Gut.width(t),r.height=e.height||Gut.height(t),e.bgcolor){var n=r.getContext("2d");n.fillStyle=e.bgcolor,n.fillRect(0,0,r.width,r.height)}return r}(t);return n.getContext("2d").drawImage(r,0,0),n})}function Qut(t,e,r){return r||!e||e(t)?Promise.resolve(t).then(function(t){if(t instanceof HTMLCanvasElement)try{return Gut.makeImage(t.toDataURL()).then(t=>t)}catch(t){Tst(t)}return t.cloneNode(!1)}).then(function(r){return function(t,e,r){var n=t.childNodes;return 0===n.length?Promise.resolve(e):i(e,Gut.asArray(n),r).then(function(){return e});function i(t,e,r){var n=Promise.resolve();return e.forEach(function(e){n=n.then(function(){return Qut(e,r,!1)}).then(function(e){e&&t.appendChild(e)})}),n}}(t,r,e)}).then(function(e){return function(t,e){return e instanceof Element?Promise.resolve().then(r).then(n).then(i).then(o).then(function(){return e}):e;function r(){function r(t,e){function r(t,e){Gut.asArray(t).forEach(function(r){e.setProperty(r,t.getPropertyValue(r),t.getPropertyPriority(r))})}t.cssText?e.cssText=t.cssText:r(t,e)}r(window.getComputedStyle(t),e.style)}function n(){function r(r){var n=window.getComputedStyle(t,r),i=n.getPropertyValue("content");if(""===i||"none"===i)return;var o=Gut.uid();const a=e;a.className=a.className+" "+o;var s=document.createElement("style");function c(t,e,r){var n="."+t+":"+e,i=r.cssText?o(r):a(r);return document.createTextNode(n+"{"+i+"}");function o(t){var e=t.getPropertyValue("content");return t.cssText+" content: "+e+";"}function a(t){return Gut.asArray(t).map(e).join("; ")+";";function e(e){return e+": "+t.getPropertyValue(e)+(t.getPropertyPriority(e)?" !important":"")}}}s.appendChild(c(o,r,n)),e.appendChild(s)}[":before",":after"].forEach(function(t){r(t)})}function i(){t instanceof HTMLTextAreaElement&&e instanceof HTMLTextAreaElement&&(e.innerHTML=t.value),t instanceof HTMLInputElement&&e instanceof HTMLInputElement&&e.setAttribute("value",t.value)}function o(){e instanceof SVGElement&&(e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e instanceof SVGRectElement&&["width","height"].forEach(function(t){var r=e.getAttribute(t);r&&e.style.setProperty(t,r)}))}}(t,e)}):Promise.resolve(void 0)}function Jut(t){return qut.inlineAll(t).then(function(){return t})}var Zut={toSvg:Xut,toPng:function(t,e){return Kut(t,e||{}).then(function(t){return t.toDataURL()})},toJpeg:function(t,e){return Kut(t,e=e||{}).then(function(t){return t.toDataURL("image/jpeg",e.quality||1)})},toBlob:function(t,e){return Kut(t,e||{}).then(t=>Gut.canvasToBlob(t))},toPixelData:function(t,e){return Kut(t,e||{}).then(function(e){return e.getContext("2d").getImageData(0,0,Gut.width(t),Gut.height(t)).data})},impl:{fontFaces:Wut,images:qut,util:Gut,inliner:Hut,options:{}}};function tht(t,e,r,n){var i=this.model_layer,o=i._overlay;return new Promise(function(a,s){if(i){var c=i.get("width"),l=i.get("height");r=r||c,n=n||l;var u=i.get("translate"),h=i.get("scale"),f=Math.min(r/c,n/l);r=c*f,n=l*f,i.set("translate",{x:0,y:0}),i.set("scale",{x:f/Cst,y:f/Cst});var d=tlt.createCanvas(r,n),p=d.getContext("2d");if(i.draw(p),i.set("translate",u),i.set("scale",h),!o)return a(d.toDataURL(t,e)),void(d=null);Zut.toPng(o,{sx:f,sy:f,width:r,height:n}).then(function(i){var o=new Image;o.onload=function(){p.drawImage(o,0,0,r,n),a(d.toDataURL(t,e)),d=null},o.src=i},function(r){Ost(r),a(d.toDataURL(t,e)),d=null})}else s("No target model")})}function eht(){if(this.hasSameParentForAllSelected){var t=this.selected.filter(t=>!!t.parent&&!t.stuck);if(!(t.length<2)){var e=t[0].parent,r=[],n=t.sort((t,r)=>e.components.indexOf(t)-e.components.indexOf(r));n.forEach(t=>{r.push(t.bounds)});var i=tlt.union(r),o=t[0].fromParent(i.left,i.top);o=t[0].toScene(o.x,o.y);var a=new Map,s=Put({type:"group",left:o.x,top:o.y,width:i.width,height:i.height},e.app,t=>{const e=this.getNewRefid();return void 0!==t&&a.set(t,e),e});s.replaceRefids(a);var c=[{component:s,to_container:e}];n.forEach(t=>{c.push({component:t,to_container:s})}),this.app.commander.execute(new Mut({changes:c})),this.selected=[s]}}}function rht(){if(0!==this.selected.length){var t=[],e=[];this.selected.forEach(r=>{if(r.isGroup()){var n=r.parent;r.components.forEach(r=>{t.push(r),e.push({component:r,to_container:n})}),e.push({component:r,to_container:null})}}),this.app.commander.execute(new Mut({changes:e})),this.selected=t}}function nht(){var t=this.selected;if(0!=t.length){var e=t.map(t=>t.bounds),r=tlt.union(e),n=r.left+r.width/2;t.map(t=>{t.symmetryX(n)})}}function iht(){var t=this.selected;if(0!=t.length){var e=t.map(t=>t.bounds),r=tlt.union(e),n=r.top+r.height/2;t.map(t=>{t.symmetryY(n)})}}function oht(){gut.around(this.app.commander,nht,this)}function aht(){gut.around(this.app.commander,iht,this)}function sht(t,e,r){var n=this.findAll(t,r);return n.forEach(t=>{t.set(e)}),n}function cht(t){gut.around(this.app.commander,t)}function lht(){return Object.values(this.indexMap).map(t=>t.map(t=>{let{id:e,data:r}=t.model;return{key:e,value:r}})).flat().sort((t,e)=>t.key>e.key?1:-1)}const uht="left",hht="right",fht="center",dht="bottom",pht="middle",ght=[uht,hht,fht,"top",pht,dht];function vht(t){if(this.hasSameParentForAllSelected&&-1!=ght.indexOf(t)){var e=this.selected.filter(t=>!t.stuck),r=this.app.commander;gut.around(r,function(){!function(t,e){const r=e[0].parent,{width:n,height:i}=r.bounds;switch(t){case uht:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,left:0}}break;case fht:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,left:n/2-r.width/2}}break;case hht:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,left:n-r.width}}break;case"top":for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,top:0}}break;case pht:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,top:i/2-r.height/2}}break;case dht:for(let t=0;t<e.length;t++){let r=e[t].bounds;e[t].bounds={...r,top:i-r.height}}break;default:;}}(t,e)})}}function yht(t){t instanceof Array||(t=[t]),this.trigger("addstart",t)}function mht(){this.trigger("stylepastestart")}function bht(){this.trigger("stylepastestop")}function xht(){this.trigger("databindpastestart")}function wht(){this.trigger("databindpastestop")}function Aht(t,e,r,n){var i=t.selected,o=n?i.slice(0):[];n&&o.length>0?e=o[0].parent:e.isContainer()||(e=e.parent);var a=e.layout.capturables(e),s=!!e.layout.joinType;if(n&&r.selected.forEach(t=>{o.splice(o.indexOf(t),1)}),r.selected=[],a.forEach(t=>{t.capturable&&function(t,e,r){var n,i,o,a,{sx:s,sy:c,ex:l,ey:u}=e;if(s>l?(n=l,i=s):(n=s,i=l),c>u?(o=u,a=c):(o=c,a=u),r){var h=t.bounds,f=t.transcoordS2TR(h.left,h.top),d=t.transcoordS2TR(h.left+h.width,h.top+h.height),p=f.x,g=d.x,v=f.y,y=d.y,m=Math.min(n,p,i,g),b=Math.max(n,p,i,g),x=Math.min(o,v,a,y),w=Math.max(o,v,a,y);return!(b-m>Math.abs(i-n)+Math.abs(g-p)||w-x>Math.abs(a-o)+Math.abs(y-v))}var A=t.path;if(!A)return error("컴포넌트에 get path가 잘못 구현되어있음.",t),!1;for(let e=0;e<A.length;e++){let r=t.transcoordS2TR(A[e].x,A[e].y);if(n>r.x||i<r.x||o>r.y||a<r.y)return!1}return!0}(t,r,s)&&-1==o.indexOf(t)&&r.selected.push(t)}),o=o.concat(r.selected),i.length!==o.length)t.selected=o;else for(let e=0;e<o.length;e++)if(i[e]!=o[e]){t.selected=o;break}}function _ht(t,e,r,n,i){i||Aht(t,e,r,n)}function Eht(t,e){var r=t.components||[];for(let t of r){Eht(t,e);let r=e.indexOf(t);-1!=r&&e.splice(r,1)}}tlt.register("add-layer",class extends Plt{ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}get pointerEvents(){return"none"}render(t){var e=this.addbox;if(e){let{sx:r,sy:n,ex:i,ey:o}=e,a=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(r,n,i-r,o-n),t.setLineDash([2/a.x,4/a.y]),t.lineWidth=1/a.x,t.strokeStyle="black",t.stroke()}}contains(t,e){return!(3!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{addstart:this.onaddstart,addstop:this.onaddstop,keydown:this.onkeydown,dragstart:this.ondragstart,dragmove:this.ondragmove,dragend:this.ondragend,mousedown:this.onmousedown,mouseup:this.onmouseup}},"model-layer":{"(self)":{change:this.onchange_root_model}}}}onchange_root_model(t,e,r){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}onaddstart(t,e){void 0===this.before_mode&&(this.before_mode=this.app.mode,this.models=t,this.app.mode=3)}onaddstop(){void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode,delete this.addbox,this.invalidate()}onkeydown(t){3!==this.app.mode||"Esc"!=t.code&&"Escape"!=t.code||this.root.trigger("addstop")}ondragstart(t){var{x:e,y:r}=this.toLocal(t.offsetX,t.offsetY);this.addbox={sx:e,sy:r}}ondragmove(t){if(3===this.app.mode){var{x:e,y:r}=this.toLocal(t.offsetX,t.offsetY);this.addbox&&(this.addbox.ex=e,this.addbox.ey=r,this.invalidate())}}ondragend(t,e){if(3!==this.app.mode)return;const{sx:r,sy:n,ex:i,ey:o}=this.addbox;Rut.call(this.root,this.models,{left:Math.min(r,i),top:Math.min(n,o),width:Math.abs(i-r),height:Math.abs(o-n)}),this.root.trigger("addstop")}onmousedown(t,e){3===this.app.mode&&(this.downpoint={x:t.offsetX,y:t.offsetY})}onmouseup(t,e){if(this.downpoint.x===t.offsetX&&this.downpoint.y===t.offsetY){var{x:r,y:n}=this.toLocal(t.offsetX,t.offsetY);Rut.call(this.root,this.models,{cx:r,cy:n}),this.root.trigger("addstop")}}});tlt.register("selection-layer",class extends Plt{ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}contains(t,e){return!1}render(t){var e=this.selbox;if(e){let{sx:r,sy:n,ex:i,ey:o}=e,a=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(r,n,i-r,o-n),t.setLineDash([2/a.x,4/a.y]),t.lineWidth=1/a.x,t.strokeStyle="black",t.stroke()}}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown}},"model-layer":{"(self)":{change:this.onchange_root_model},"(all)":{dragstart:this.ondragstart_selbox,dragmove:this.ondragmove_selbox,dragend:this.ondragend_selbox,mousedown:this.onmousedown_comp,mouseup:this.onmouseup_comp}}}}onkeydown(t,e){var{origin:r,deliverer:n}=e,i=n.selected;if(1!==i.length)return!1;var o=i[0],a=o.parent;if(!a||a===n)return!1;if("Tab"===t.code){var s=a.layout.capturables(a),c=s.indexOf(o);if(-1==c){if(!a.indexOf(o))return Tst("Container not contains [",o,"] as a component"),!1;c=0}var l=s.length;t.shiftKey?c--:c++,o=s[(c+l)%l]}else{if(!a.layout.keyNavigate)return!1;o=a.layout.keyNavigate(a,o,t)||o}n.selected=[o],t.preventDefault()}onchange_root_model(t,e,r){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}_pendingDecision(t){this.downpoint={x:t.offsetX,y:t.offsetY}}_selectGroupItem(t,e){var r=this.selected.indexOf(t);let n=t.parent;for(;n.parent.isGroup();)n=n.parent;let i=[],o=!1,a=!1;if(this.selected.forEach(t=>{let e=t.parent;if(t!==n){for(;e.parent&&e.parent.isGroup();)e=e.parent;e===n&&(i.push(t),o=!0)}else a=!0}),o)if(e.shiftKey){if(-1!=r)return void this._pendingDecision(e);i.push(t)}else{if(-1!=r)return void this._pendingDecision(e);i=[t]}else{if(a)return void this._pendingDecision(e);if(e.shiftKey)if(this.selected.length>0){if(-1!=this.selected.indexOf(n))return;i=[...this.selected,n]}else i=[n];else i=[n]}this.selected=i}onmousedown_comp(t,e){var{origin:r}=e;if(this.downpoint=null,t.shiftKey){if(r.parent.isGroup())return void this._selectGroupItem(r,t);if(-1!=this.selected.indexOf(r))return void this._pendingDecision(t);{let t=this.selected.filter(t=>!t.isRootModel()&&!!t.parent),e=t.length>0&&t[0].parent;e&&e!==r.parent&&(!function(t,e){for(var r=t.parent;r;){let t=e.indexOf(r);-1!=t&&e.splice(t,1),r=r.parent}}(r,t),Eht(r,t)),t.push(r),this.selected=t}}else{if(r.parent.isGroup())return void this._selectGroupItem(r,t);if(-1!=this.selected.indexOf(r))return;this.selected=[r],this.sameParent=!0}}onmouseup_comp(t,e){if(!this.downpoint)return;if(this.downpoint.x!==t.offsetX||this.downpoint.y!==t.offsetY)return;var{origin:r}=e;let n=this.selected.indexOf(r);if(-1==n&&r.parent.isGroup()&&(n=this.selected.indexOf(r.parent)),-1!==n&&t.shiftKey){let t=this.selected.slice();return n>-1&&t.splice(n,1),void(this.selected=t)}r.parent.isGroup()&&(this.selected=[r])}ondragstart_selbox(t,e){var{origin:r}=e;if(r.stuck){var{x:n,y:i}=this.toLocal(t.offsetX,t.offsetY);this.selbox={sx:n,sy:i,selected:[]}}}ondragmove_selbox(t,e){var{origin:r}=e;if(r.stuck){var{x:n,y:i}=this.toLocal(t.offsetX,t.offsetY);this.selbox&&(this.selbox.ex=n,this.selbox.ey=i,_ht(this,r,this.selbox,t.shiftKey),this.invalidate())}}ondragend_selbox(t,e){var{origin:r}=e;r.stuck&&(this.last_pos=null,this.selbox=null,_ht(this,null,null,!1,!0),this.invalidate())}});class Sht{constructor(t){this.layer=t}draw(t,e,r){var{left:n,top:i,width:o,height:a}=e.bounds;0!=o&&0!=a&&(t.beginPath(),t.rect(n,i,o,a),t.clip(),t.beginPath(),t.strokeStyle="#f26522",t.lineWidth=4,t.shadowBlur=10,t.shadowColor="black",t.shadowOffsetX=0,t.shadowOffsetY=0,t.rect(n,i,o,a),t.stroke(),t.closePath())}}class kht{constructor(t){this.layer=t}draw(t,e,r){var n=e.bounds;t.beginPath(),t.rect(n.left-4/r.x,n.top-4/r.y,n.width+8/r.x,n.height+8/r.y),t.setLineDash([3/r.x,4/r.y]),t.lineWidth=1/r.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),t.closePath()}}class Mht{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){let i=r.controls;return!!i&&(i.every((i,o)=>(Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r,index:o,handler:i.handler}),!this.active)),!!this.active)}draw(t,e,r){var n=e.controls;n&&n.forEach((e,n)=>{t.beginPath(),t.lineWidth=1/r.x,t.ellipse(e.x,e.y,4/r.x,4/r.y,0,0,2*Math.PI,!0),t.fillStyle="#ff5d72",t.fill(),t.strokeStyle="#fff",t.stroke()})}onevent(t,e){var{handler:r,component:n,index:i}=this.active,o=n.toLocal(e.offsetX,e.offsetY);o=n.toParent(o.x,o.y),r&&"function"==typeof r[t]&&r[t](o,i,n)}onmousedown(t){this.onevent("onmousedown",t)}ondragstart(t){var e=this.active;e.changes=gut.before([e.component]),this.onevent("ondragstart",t)}ondragmove(t){this.onevent("ondragmove",t)}ondragend(t){this.onevent("ondragend",t);var{component:e,changes:r}=this.active;gut.after(r,e.app.commander),e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}function Oht(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}const Tht=15*Math.PI/180;class Pht{constructor(t){this.layer=t}reset(){this.active=null,this.created=null}get selected(){return this.layer.selected}contains(t,e,r,n){return!!r.mutable&&(r.path.every((i,o)=>(Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r,index:o}),!this.active)),!!this.active)}startLinkProcess(t,e,r){try{var n=Put(e,t.app);return t.rootModel.addComponent(n),this.layer.selected=[n],this.active={component:n,index:1},this.ondragstart(r),n}catch(t){console.warn(r)}}draw(t,e,r){if(e.mutable&&!e.stuck){var n=e.path,i=this.active;n.forEach((n,o)=>{t.beginPath(),t.ellipse(n.x,n.y,4/r.x,4/r.y,0,0,2*Math.PI,!0),t.lineWidth=1/r.x,t.strokeStyle="#656565",t.fillStyle="#fff",i&&i.component===e&&i.index===o&&(t.strokeStyle="#fa7703",i.toFill&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke()})}}ondblclick(t){var e=this.active.component;if(e.pathExtendable){var r=e.path.slice();r.length<3||(r.splice(this.active.index,1),e.path=r)}}onmousedown(t){this.active.toFill=!0}ondragstart(t){var{index:e,component:r}=this.active;this.created||(this.active.changes=gut.before([r])),0!==e&&e!==r.path.length-1||(this.layer.counterEnd=0===e?r.toEnd||{fromto:"to"}:r.fromEnd||{fromto:"from"})}ondragmove(t){var{component:e,index:r}=this.active||{};const{offsetX:n,offsetY:i}=t;var o,a,s=e.toLocal(n,i);if(s=e.toParent(s.x,s.y),t.shiftKey){var c=e.path.length,l=e.isLine()&&0==r?e.path[1]:e.path[(r-1+c)%c];l=e.toParent(l.x,l.y);var u,h=0;if(c>2)e.isLine()?0==r?u=e.path[2]:1!=r&&(u=e.path[r-2]):u=e.path[(r-2+c)%c],u&&(h=Oht(u=e.toParent(u.x,u.y),l));var f=Math.round((Oht(l,s)-h)/Tht)*Tht+h;s=function(t,e,r){return{x:Math.cos(e)*r+t.x,y:Math.sin(e)*r+t.y}}(l,f,(o=l,a=s,Math.sqrt((a.x-o.x)*(a.x-o.x)+(a.y-o.y)*(a.y-o.y))))}if(0===r||r===e.path.length-1){const t=this.layer.anchorTarget=e.rootModel.capture(n,i,t=>!t.isConnectable());if(t){const{x:o,y:a}=t.toLocal(n,i),c=this.layer.get("scale")||{x:1,y:1},l=this.layer.counterEnd,u=(t.anchors||[]).find(r=>{const{name:n,inout:i,multiplicity:s=1/0,position:u,filter:h}=r;if(l){const{anchor:t,fromto:e}=l;if(t&&("out"===t.inout&&"out"===i||"in"===t.inout&&"in"===i))return!1;if("from"===e&&"out"===i||"to"===e&&"in"===i)return!1}else console.error("should not be here.");if(Math.abs(o-u.x)>8/c.x||Math.abs(a-u.y)>8/c.y)return!1;const f=t.findInOutLines(n);return!!f.includes(e)||!(s!==1/0&&f.length>=s)&&(!l||!h||!!h.call(r,l))});u?0==r?e.from={component:t.get("refid"),anchor:u.name,position:s}:e.to={component:t.get("refid"),anchor:u.name,position:s}:0==r?e.from={position:s}:e.to={position:s}}}e.mutatePath(null,function(t){t[r]=s})}ondragend(t){var{component:e,index:r,changes:n}=this.active;if(0===r||r===e.path.length-1){const{offsetX:n,offsetY:i}=t,o=e.rootModel.capture(n,i,t=>t===e||t.isLine()),{x:a,y:s}=o.toLocal(n,i),c=this.layer.get("scale")||{x:1,y:1},l=(o.anchors||[]).find(t=>t&&Math.abs(a-t.position.x)<=8/c.x&&Math.abs(s-t.position.y)<=8/c.y);l&&(0==r?e.from={component:o.get("refid"),anchor:l.name}:e.to={component:o.get("refid"),anchor:l.name}),this.layer.endLinkProcess()}if(this.created){let t=new Mut({changes:[{component:this.created,to_container:this.created.parent}]});created.app.commander.execute(t)}else gut.after(n,e.app.commander);e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}class Iht{constructor(t){this.layer=t}get active(){return this._active?.component.disposed&&(this._active=null),this._active}set active(t){this._active=t}reset(){this.active=null}contains(t,e,r,n){const i=this.active?.component===r&&this.active?.anchor;this.active=null;const o=this.layer.counterEnd;return(r.isConnectable()&&!r.disposed&&this.getAnchorHandles(r,n)||[]).filter(t=>{const{name:e,inout:n,multiplicity:i=1/0,filter:a}=t;if(o){const{anchor:t,fromto:e}=o;if(t&&("out"===t.inout&&"out"===n||"in"===t.inout&&"in"===n))return!1;if("from"===e&&"out"===n||"to"===e&&"in"===n)return!1}else if("in"===n)return!1;return!(i!==1/0&&r.findInOutLines(e).length>=i)&&(!a||!o||!!a.call(t,o))}).every(o=>{const a=i===o.name?2:1;return o&&o.position&&Math.abs(t-o.position.x)<=4*a/n.x&&Math.abs(e-o.position.y)<=4*a/n.y&&(this.active={component:r,anchor:o.name,template:o.template}),!this.active}),!!this.active}getAnchorHandles(t,e){var{left:r,top:n,width:i,height:o}=t.bounds;return i*e.x<30||o*e.y<30?[]:t.anchors}draw(t,e,r){if(!e.get("refid")||e.isLine())return;var n=this.active;const i=this.active?.component===e&&this.active?.anchor,o=this.layer.counterEnd;(e.isConnectable()&&!e.disposed&&this.getAnchorHandles(e,r)||[]).filter(t=>{const{name:r,inout:n,multiplicity:i=1/0,filter:a}=t;if(o){const{anchor:t,fromto:e}=o;if(t&&("out"===t.inout&&"out"===n||"in"===t.inout&&"in"===n))return!1;if("from"===e&&"out"===n||"to"===e&&"in"===n)return!1}else if("in"===n)return!1;return!(i!==1/0&&e.findInOutLines(r).length>=i)&&(!o||!a||!!a.call(t,o))}).forEach(o=>{const{name:a,position:s}=o,c=i===a?2:1;s&&(t.beginPath(),t.ellipse(s.x,s.y,4*c/r.x,4*c/r.y,0,0,2*Math.PI),t.setLineDash([0,0]),t.lineWidth=1/r.x,t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",n&&n.component===e&&n.anchor===a&&(t.strokeStyle="#fa7703",n.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())})}onmousedown(t){this.active.focus=!0}ondragstart(t){const{component:e,anchor:r,template:n}=this.active,i=this.layer.toLocal(t.offsetX,t.offsetY);this.layer.startLinkProcess(e,{type:"ortholine",lineWidth:1,strokeStyle:"black",begin:"oval",beginSize:"size9",end:"arrow",endSize:"size9",lineDash:"solid",lineCap:"butt",round:10,...n,from:{component:e.get("refid"),anchor:r,position:i},to:{position:i}},t)}ondragmove(t){}ondragend(t){}}function Cht(t,e,r){var n,i,{left:o,top:a,width:s,height:c}=t.bounds;switch(e){case 0:n=o,i=a;break;case 1:n=o+s/2,i=a;break;case 2:n=o+s,i=a;break;case 3:n=o+s,i=a+c/2;break;case 4:n=o+s,i=a+c;break;case 5:n=o+s/2,i=a+c;break;case 6:n=o,i=a+c;break;case 7:n=o,i=a+c/2}var l=n,u=i,h=t.fromScene(r.x,r.y);return{dx:h.x-l,dy:h.y-u}}function Rht(t,e,r,n,i,o){var{left:a,top:s,width:c,height:l}=t.bounds,u={left:a,top:s,width:c,height:l};switch(e){case 0:a+=n,s+=i,c-=n,l-=i;break;case 1:s+=i,l-=i;break;case 2:s+=i,c+=n,l-=i;break;case 3:c+=n;break;case 4:c+=n,l+=i;break;case 5:l+=i;break;case 6:a+=n,c-=n,l+=i;break;case 7:a+=n,c-=n}if(t.mutateBounds(function(e){return Math.abs(c)<=.001&&(c=.001),Math.abs(l)<=.001&&(l=.001),t.adjustResize({left:a,top:s,width:c,height:l},u,r)},this),t.isContainer()&&t.layout.ABSOLUTE&&!t.isGroup()){var h=u.left-a,f=u.top-s;o?t.components.forEach(t=>{t.delta("tx",0),t.delta("ty",0),t.move({x:h,y:f},!1)}):t.components.forEach(t=>{t.delta("tx",h),t.delta("ty",f)})}else{var d=o&&t.parent;d&&d.isGroup()&&d.calculateBounds()}}function Dht(t,e){const{left:r,top:n,width:i,height:o}=t,a=r+i/2,s=n+o/2,c=r+i,l=n+o,u=i*e.x>50,h=o*e.y>50;return[{x:r,y:n},u?{x:a,y:n}:{x:null,y:null},{x:c,y:n},h?{x:c,y:s}:{x:null,y:null},{x:c,y:l},u?{x:a,y:l}:{x:null,y:null},{x:r,y:l},h?{x:r,y:s}:{x:null,y:null}]}class Lht{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){if(!r.resizable)return!1;const i=Dht(r.bounds,n);for(let o=0;o<i.length;o++){const a=i[o];if(null!=a.x&&null!=a.y&&Math.abs(t-a.x)<=4/n.x&&Math.abs(e-a.y)<=4/n.y)return this.active={component:r,index:o},!0}return!1}draw(t,e,r){if(!e.isLine()){var{left:n,top:i,width:o,height:a}=e.bounds;if(t.beginPath(),t.rect(n-4/r.x,i-4/r.y,o+8/r.x,a+8/r.y),t.setLineDash([3/r.x,4/r.y]),t.lineWidth=1/r.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),e.resizable){var s=this.active;Dht(e.bounds,r).forEach((n,i)=>{null!=n.x&&null!=n.y&&(t.beginPath(),t.rect(n.x-4/r.x,n.y-4/r.y,8/r.x,8/r.y),t.setLineDash([]),t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",s&&s.component===e&&s.index===i&&(t.strokeStyle="#fa7703",s.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())})}}}onmousedown(t){this.active.focus=!0}ondragstart(t){var{component:e}=this.active;this.active.bounds=e.bounds,this.active.boundsList=this.layer.selected.filter(t=>t.resizable).map(t=>t.bounds)}ondragmove(t){var{component:e,index:r,boundsList:n,bounds:i}=this.active;if(e.scalable)var o=this.layer.toLocal(t.offsetX,t.offsetY);else o={x:t.offsetX,y:t.offsetY};e.bounds=i;var a=Cht(e,r,o);this.layer.selected.filter(t=>t.resizable).forEach((e,i)=>{e.bounds=n[i],Rht(e,r,t.shiftKey,a.dx,a.dy,!1)})}ondragend(t){var{component:e,index:r,boundsList:n,bounds:i}=this.active;if(e.scalable)var o=this.layer.toLocal(t.offsetX,t.offsetY);else o={x:t.offsetX,y:t.offsetY};e.bounds=i;var a=Cht(e,r,o);this.layer.selected.filter(t=>t.resizable).forEach((e,i)=>{e.bounds=n[i],Rht(e,r,t.shiftKey,a.dx,a.dy,!0)}),this.active.component.app.commander.execute(null,!1)}}const jht=2*Math.PI,Nht=Math.PI/2;function Fht(t,e){var r=t.bounds;return{x:r.left+r.width/2,y:r.top-20/e.y}}class zht{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,r,n){if(!r.rotatable)return!1;var i=Fht(r,n);return Math.abs(t-i.x)<=4/n.x&&Math.abs(e-i.y)<=4/n.y&&(this.active={component:r},!0)}draw(t,e,r){if(e.rotatable){t.beginPath();var n=Fht(e,r);t.lineWidth=1.5/r.x,t.moveTo(n.x,n.y+20/r.y),t.lineTo(n.x,n.y),t.strokeStyle="#656565",t.stroke(),t.beginPath(),t.ellipse(n.x,n.y,4/r.x,4/r.y,0,0,jht,!0),t.stroke(),t.fillStyle="#fff",t.fill();var i=this.active;i&&i.component===e&&(t.strokeStyle="#fa7703",t.stroke(),i.toFill&&(t.fillStyle="#ffb80c",t.fill()))}}onmousedown(t){this.active.toFill=!0}ondragstart(t){var e=this.active;e.component,e.start_rotation=e.component.get("rotation"),e.rotations=this.layer.selected.filter(t=>t.rotatable).map(t=>t.get("rotation"))}ondragmove(t){var{component:e}=this.active;if(e.scalable){var r=e.toLocal(t.offsetX,t.offsetY);r=e.toParent(r.x,r.y)}else{r={x:t.offsetX,y:t.offsetY};e.parent?.isRootModel()||(r=e.toParent(r.x,r.y))}var n=e.rotatePoint,i=e.get("rotation")||0,o=Math.atan((n.y-r.y)/(n.x-r.x)),a=(o=n.x>=r.x?o-Nht:Nht+o)-i;this.layer.selected.filter(t=>t.rotatable).forEach((e,r)=>{let n=((e.get("rotation")||0)+a)%jht;e.set("rotation",e.adjustRotation(n,t.shiftKey))})}ondragend(t){var{component:e}=this.active;e.app.commander.execute(null,!1)}}tlt.register("modeling-layer",class extends Ilt{constructor(t,e){super(t,e),this.pathHandler=new Pht(this);var r=this.pathHandler,n=new Mht(this),i=new Lht(this),o=new zht(this);this._modelers=[r,n,i,o],this._control_mode_modelers=[n,r,i,o],this.focusOutline=new Sht(this),this.groupOutline=new kht(this),this.anchorHandler=new Iht(this),this._reversed_modelers=this._modelers.slice().reverse(),this._control_mode_reverse_modelers=this._control_mode_modelers.slice().reverse(),this.hovered=null,this.hoveredDest=null}get modelers(){return this._control_mode?this._control_mode_modelers:this._modelers}get reversedModelers(){return this._control_mode?this._control_mode_reverse_modelers:this._reversed_modelers}ready(){super.ready();var t=this.rootModel,e=t.get("translate"),r=t.get("scale");this.set("translate",e),this.set("scale",r)}capture(t,e,r){return!!this.contains(t,e)&&this}contains(t,e){var r=this.selected.filter(t=>!!t.parent),n=this.fromParent(t,e),i=this.get("scale")||{x:1,y:1};if(this._state_dragging){if(this._counter_end){let r=i;if(this.anchorTarget.scalable)var o=this.anchorTarget.fromScene(n.x,n.y);else{o=this.anchorTarget.fromScene(t,e);r={x:1,y:1}}if(this.anchorHandler.contains(o.x,o.y,this.anchorTarget,r))return!0}return!0}this.modelers.forEach(t=>t.reset());r=this.selected.filter(t=>!!t.parent);for(let a=0;a<r.length;a++){let s=r[a],c=i;if(s.scalable)o=s.fromScene(n.x,n.y);else{o=s.fromScene(t,e);c={x:1,y:1}}for(let t=0;t<this.modelers.length;t++){let e=this.modelers[t];if(e.contains(o.x,o.y,s,c))return this.currentModeler=e,!0}}if(this.anchorTarget){let r=i;if(this.anchorTarget.scalable)o=this.anchorTarget.fromScene(n.x,n.y);else{o=this.anchorTarget.fromScene(t,e);r={x:1,y:1}}if(this.anchorHandler.contains(o.x,o.y,this.anchorTarget,r))return this.currentModeler=this.anchorHandler,!0}else this.anchorHandler.reset();return this.currentModeler=null,!1}_componentDrawer(t,e,r,n){let i=[],o=e.parent;if(e.isRootModel())return t.save(),n(t,e,r),void t.restore();for((t=this.getContext(e))==this.auxContext2D&&(r={x:1,y:1});o&&!o.isRootModel();)i.push(o),o=o.parent;t.save(),i.reverse().forEach(function(e){let r=e.rotatePoint;t.translate(r.x,r.y);let n=e.get("scale");n&&t.scale(n.x,n.y),t.rotate(e.get("rotation")),t.translate(-r.x,-r.y);let i=e.bounds;t.translate(i.left,i.top)});let a=e.rotatePoint;t.translate(a.x,a.y);let s=e.get("scale");s&&t.scale(s.x,s.y),t.rotate(e.get("rotation")),t.translate(-a.x,-a.y),n(t,e,r),t.restore()}prerender(t){var{translate:e,scale:r={x:1,y:1},rotation:n}=this.model;t.save(),t.beginPath(),t.clearRect(0,0,t.canvas.width,t.canvas.height),t.rect(0,0,t.canvas.width,t.canvas.height),t.fillStyle="black",t.globalAlpha=.5,t.fill(),t.restore(),e&&t.translate(e.x*Cst,e.y*Cst),t.scale(r.x*Cst,r.y*Cst),n&&t.rotate(n),t.clearRect(0,0,this.rootModel.get("width"),this.rootModel.get("height"))}render(t){t.beginPath();var e=this.get("scale")||{x:1,y:1},r=this.selected.filter(t=>!!t.parent);if(this.anchorTarget&&this._componentDrawer(t,this.anchorTarget,e,(t,e,r)=>{this.anchorHandler.draw(t,e,r)}),this.focused&&this._componentDrawer(t,this.focused,e,(t,e,r)=>{this.focusOutline.draw(t,e,r)}),r.length>0&&r[0].parent.isGroup()){let n=r[0].parent;for(;n.parent.isGroup();)n=n.parent;this._componentDrawer(t,n,e,(t,e,r)=>{this.groupOutline.draw(t,e,r)})}r.forEach(r=>{this._componentDrawer(t,r,e,(t,e,r)=>{this.reversedModelers.forEach(n=>n.draw(t,e,r))})})}get anchorTarget(){return this.currentModeler===this.anchorHandler||this.currentModeler===this.pathHandler||this.hovered?.isLine()||(this._anchorTarget=this.hovered),this._anchorTarget}set anchorTarget(t){this._anchorTarget=t}get hovered(){return this._hovered}set hovered(t){this._hovered=t,this.invalidate()}startLinkProcess(t,e,r){this.currentModeler=this.pathHandler,this.processingLink=this.pathHandler.startLinkProcess(t,e,r),this.counterEnd=this.processingLink.fromEnd,this.processingLink.trigger("tag")}set counterEnd(t){this.currentModeler=this.pathHandler,this._counter_end=t}get counterEnd(){return this._counter_end}endLinkProcess(){this.processingLink?.trigger("tagreset"),this.processingLink=null,this._counter_end=null}get eventMap(){return{"model-layer":{"(all)":{change:this.onchange_model,wheel:this.onwheel_scale,drop:this.ondrop},"(descendant)":{mouseenter:this.onmouseenter,mouseleave:this.onmouseleave},"(self)":{dblclick:this.ondblclick_model}},"(root)":{"(self)":{selected:this.onselected,keydown:this.onkeydown,keyup:this.onkeyup}}}}onmouseenter(t,e){this.hovered=e?.origin}onmouseleave(t,e){this.hovered=null}onkeydown(t){"Alt"==t.key&&(this._control_mode=!0,this.invalidate())}onkeyup(t){"Alt"==t.key&&(this._control_mode=!1,this.invalidate())}onselected(t,e){this.invalidate()}onchange_model(t,e,r){var{origin:n,deliverer:i}=r;n===i&&(t.translate&&this.set("translate",t.translate),void 0!==t.rotation&&this.set("rotation",t.rotation),t.scale&&this.set("scale",t.scale)),this.invalidate()}ondblclick_model(t,e){const r=e.origin;r?.root.fit()}ondblclick(t){"function"==typeof this.currentModeler.ondblclick&&this.currentModeler.ondblclick(t),this.invalidate()}onmousedown(t){this.currentModeler.onmousedown(t),this.invalidate()}onmouseup(t){"function"==typeof this.currentModeler.onmouseup&&this.currentModeler.onmouseup(t),this.invalidate()}ondragstart(t){this.currentModeler.ondragstart(t),this._state_dragging=!0}ondragmove(t){this.currentModeler.ondragmove(t),this.invalidate()}ondragend(t){this._state_dragging=!1,this.currentModeler.ondragend(t),this.invalidate()}ondrop(t,e){var{origin:r}=e,n=t.dataTransfer.files;if(n.length<1)return;let i=this.rootModel.toLocal(t.offsetX,t.offsetY),o=this.rootModel;Promise.all(Array.from(n).map(t=>new Promise((e,r)=>{let n=new FileReader;n.addEventListener("loadend",t=>{e(n.result)}),["error","abort"].forEach(t=>n.addEventListener(t,t=>{r(t)})),n.readAsDataURL(t)}))).then(e=>{if(t.altKey)return gut.around(this.app.commander,()=>{r.ondropfile(n,e)}),void(this.selected=[r]);let a=[],s=e.map((t,e)=>{let r,s=n[e].type,c=n[e].name;return s.startsWith("image/")?(r=Put({type:s.startsWith("image/gif")?"gif-view":"image-view",top:0,left:0,width:200,height:200,src:t},o.app),a.push(new Promise((e,n)=>{let i=new Image;i.src=t,i.onload=()=>{r.set({width:i.width,height:i.height}),e()},i.onerror=t=>{n(t)}}))):s.startsWith("audio/")?r=Put({type:"audio",top:0,left:0,width:100,height:100,src:t},o.app):s.startsWith("vnd.ms-excel/")||/\.xlsx?$/.test(c)?r=Put({type:"excel",top:0,left:0,width:100,height:100,src:t},o.app):console.log("droped file",n[e]),r&&(r.center=i,i.x+=50,i.y+=50),r}).filter(Boolean).map(t=>({component:t,to_container:o}));s.length>0&&Promise.all(a).then(()=>{this.app.commander.execute(new Mut({changes:s})),this.selected=s.map(t=>t.component)},t=>{console.error(t)})},t=>{console.error(t)})}onwheel_scale(t,e){if(0!=t.deltaY||0!=t.deltaX){var r=e.deliverer;if(t.shiftKey){if(-1!=navigator.userAgent.indexOf("Win"))var n=t.deltaY<0?1:-1;else n=t.deltaX<0?1:-1;t.altKey?gut.around(this.app.commander,()=>{r.selected.forEach(t=>{let e=t.get("letterSpacing")||Lst.LETTER_SPACING;e+=n,t.set("letterSpacing",e)})}):gut.around(this.app.commander,()=>{r.selected.forEach(t=>{let e=t.get("fontSize")||Lst.FONT_SIZE;e<1&&(e=1),e+=n,t.set("fontSize",e)})})}else{n=t.deltaY<0?1:-1;let e=r.get("scale")||{x:1,y:1},i=r.get("translate"),o=t.offsetX,a=t.offsetY,s=r.toLocal(o,a),c=.1*n,l={x:e.x+c,y:e.y+c};if(n<0&&e.x<.2||n>0&&e.x>10)return;r.set("scale",l);let u=r.toLocal(o,a);r.set("translate",{x:i.x+(u.x-s.x)*l.x,y:i.y+(u.y-s.y)*l.y})}}}});function Uht(){var t=arguments,e=t[t.length-1],r=this.event_pump;r.listeners.forEach(n=>{!function(t,e,r,n,i){for(let o in r){let a=r[o];if(Yst(o,n.origin,0,t))for(let t in a){let r=a[t];t==n.name&&(n.listener=e,r.apply(e,i))}}}(r.deliverer,n.listener,n.cloned_handlers,e,t)})}tlt.register("scroll-layer",class extends Plt{get capturable(){return!0}get pointerEvents(){return"none"}render(t){const{scrolling:e}=this.state;if(t.save(),t.beginPath(),t.fillStyle="#777",this.vscroller){const{left:r,top:n,width:i,height:o}=this.vscroller;t.globalAlpha="v"==e?1:.3,t.fillRect(r,n,i,o)}if(this.hscroller){const{left:r,top:n,width:i,height:o}=this.hscroller;t.globalAlpha="h"==e?1:.3,t.fillRect(r,n,i,o)}t.stroke(),t.restore()}resize(){super.resize(),this.calcScrollerBounds()}contains(t,e){const r=this.vscroller,n=this.hscroller;return this.setState("scrolling",r&&t>=r.left&&t<=r.left+r.width&&e>=r.top&&e<=r.top+r.height?"v":n&&t>=n.left&&t<=n.left+n.width&&e>=n.top&&e<=n.top+n.height?"h":null),!!this.getState("scrolling")}get eventMap(){return{"(root)":{"model-layer":{change:this.onchangeModelLayer}}}}onchange(t){"scrolling"in t&&this.invalidate()}ondragstart(t,e){this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragmove(t,e){const r=this.root,{clientWidth:n,clientHeight:i}=this.canvas,{width:o,height:a}=this.rootModel.model,{x:s,y:c}={x:t.offsetX,y:t.offsetY},{x:l,y:u}=this._scale,{scrolling:h}=this.state,f=o/n,d=a/i;h&&r.rootModel.move({x:"h"==h?(-s+this.lastPosition.x)*l*f:0,y:"v"==h?(-c+this.lastPosition.y)*u*d:0},!1),this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragend(){delete this.lastPosition,this.setState({scrolling:null})}calcScrollerBounds(){if(!this.rootModel)return;var{clientWidth:t,clientHeight:e}=this.canvas;const{width:r,height:n}=this.rootModel.model,{x:i=1,y:o=1}=this._scale||{},{x:a=0,y:s=0}=this._translate||{},c=r/t,l=n/e;var u={left:-a/i/c,top:e-10,width:t/i/c,height:10};this.hscroller=u.left>1||u.width+u.left<t-1?u:null,u={left:t-10,top:-s/o/l,width:10,height:e/o/l},this.vscroller=u.top>1||u.height+u.top<e-1?u:null,this.invalidate()}onchangeModelLayer(t,e,r){if(t.scale){const{x:e=1,y:r=1}=t?.scale||{};this._scale={x:e,y:r},this.calcScrollerBounds()}if(t.translate){const{x:e=0,y:r=0}=t.translate||{};this._translate={x:e,y:r},this.calcScrollerBounds()}}});class Bht{constructor(t){if(void 0===t.on)throw new Error("Deliverer should be a event handlable object.");this.deliverer=t,this.listeners=[]}start(){this.deliverer.on("(all)",Uht,{event_pump:this})}stop(){this.deliverer.off("(all)",Uht)}on(t,e){var r=Object.assign({},e);Object.keys(r).forEach(e=>{if(0==e.indexOf("?")){let n=r[e],i=e.substr(1),o=t.get(i);delete r[e],o?r[o]=n:Tst("EventPump#on","variable #{selector} is not evaluated on listener")}}),this.listeners.push({listener:t,handlers:e,cloned_handlers:r})}off(t,e){for(let r=0;r<this.listeners.length;r++){let n=this.listeners[r];n.listener!==t||e&&n.handlers!==e||this.listeners.splice(r,1)}}clear(){this.listeners=[]}dispose(){this.stop(),this.clear()}}class $ht{constructor(t){this.eventMaps=[],this.root=t,t.eventMap&&this.add(t,t.eventMap)}set root(t){this._root=t}get root(){return this._root}stop(){this.eventMaps.forEach(t=>t.eventPump.stop())}add(t,e){if(this.root)for(let r in e){let n=e[r];if("(self)"===r&&void 0===t.on)throw new Error("(self) selector not available when deliverer is not a event handlable object.");Wst(r,this.root,t).forEach(r=>{var i=new Bht(r);i.on(t,n),i.start(),this.eventMaps.push({eventPump:i,listener:t,handlerMap:e,deliverer:r})})}}remove(t,e){var r=this.eventMaps.slice(0);for(let n=0;n<r.length;n++){let i=r[n];i.listener!==t||e&&i.handlerMap!==e||(this.eventMaps.splice(n,1),i.eventPump.dispose())}}clear(){this.eventMaps.slice(0).forEach(t=>t.eventPump.dispose()),this.eventMaps=[]}dispose(){this.stop(),this.clear()}}const Yht=0,Ght=1,Hht=2,Wht=0,qht=1,Vht=2;var Xht={},Kht=0;class Qht{constructor(t,e){this._type=e||t.type,this._ctrlKey=t.ctrlKey,this._altKey=t.altKey,this._shiftKey=t.shiftKey,this._metaKey=t.metaKey;var r=function(t){if(t.touches){let e=t.touches[0];if(!e)return Xht;let r=e.target.getBoundingClientRect();return Xht={x:t.offsetX||e.clientX-(r.x||r.left),y:t.offsetY||e.clientY-(r.y||r.top)}}return{x:t.offsetX,y:t.offsetY}}(t);if(this._offsetX=r.x,this._offsetY=r.y,t.touches&&t.touches[0]?(this._clientX=t.touches[0].clientX,this._clientY=t.touches[0].clientY):(this._clientX=t.clientX,this._clientY=t.clientY),"wheel"==t.type)this.deltaX=t.deltaX,this.deltaY=t.deltaY,this.deltaZ=t.deltaZ;else if("drop"==t.type)this.dataTransfer=t.dataTransfer;else if(t.type.match(/^touch/)&&(this._scale=t.scale,this._touches=t.touches,this._changedTouches=t.changedTouches,null==this._scale)){var n=function(t){var e,r,n=0,i=0,o=0;if(1===t.touches.length)return o;Array.from(t.touches).forEach(t=>{e=null!=e?Math.min(t.screenX,e):t.screenX,n=Math.max(t.screenX,n),r=null!=r?Math.min(t.screenY,r):t.screenY,i=Math.max(t.screenY,i)});var a=n-e||0,s=i-r||0;return Math.sqrt(Math.pow(a,2)+Math.pow(s,2))||0}(t);Kht>0&&(this._scale=n/Kht),Kht=n}}get type(){return this._type}set type(t){this._type=t}get offsetX(){return this._offsetX}get offsetY(){return this._offsetY}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get shiftKey(){return this._shiftKey}get metaKey(){return this._metaKey}get clientX(){return this._clientX}get clientY(){return this._clientY}get touches(){return this._touches}get changedTouches(){return this._changedTouches}get scale(){return this._scale}stopPropagation(){this._stop_=!0,this.originalEvent&&"function"==typeof this.originalEvent.stopPropagation&&this.originalEvent.stopPropagation()}isPropagationStopped(){return this._stop_}preventDefault(){this._prevented=!0}isDefaultPrevented(){return this._prevented}}function Jht(t,e,r){if(t&&t.app&&(!t.app.isViewMode||!t.hidden)){r instanceof Qht&&e===r.type||(r=new Qht(r,e));var n="on"+e;t[n]&&t[n](r),r.isPropagationStopped()||t.trigger(e,r)}}class Zht{constructor(t,e){this.gestureHandlerBuilder=t=>{var e=this[`on${t}`];return t=>{const r=new Qht(t),n=this.getChildScrollOffset();return r._offsetX+=this.html_element.scrollLeft+n.scrollLeft,r._offsetY+=this.html_element.scrollTop+n.scrollTop,e(r),r.isDefaultPrevented()&&t.preventDefault(),!1}},this.keyeventHandlerBuilder=t=>this[`on${t}`],this.ondragover=t=>(Jht(this.findTarget(t),t.type,t),!1),this.ondrop=t=>(Jht(this.findTarget(t),t.type,t),!1),this.ondblclick=t=>(Jht(this.findTarget(t),t.type,t),this.last_target=null,!1),this.onkeydown=t=>(this.container.trigger(t.type,t),!1),this.onkeyup=t=>(this.container.trigger(t.type,t),!1),this.onmousemove=t=>{switch(this.status){case Ght:let r=t.offsetX-this.__dragstart_e.offsetX,n=t.offsetY-this.__dragstart_e.offsetY;if(r*r+n*n<16)break;this.status=Hht,Jht(this.last_target,"dragstart",this.__dragstart_e),this.__dragmove_e=t,Jht(this.last_target,"dragmove",t);break;case Hht:this.__dragmove_e=t,Jht(this.last_target,"dragmove",t);break;default:var e=this.findTarget(t);this.last_enter_target!==e&&(this.last_enter_target&&Jht(this.last_enter_target,"mouseleave",t),e&&Jht(e,"mouseenter",t),this.last_enter_target=e),Jht(e,t.type,t),this.last_target=e}return!1},this.onmousedown=t=>{if(this.status===Hht)Jht(this.last_target,"dragend",t),this.last_target=null,this.status=Yht;else{var e=this.findTarget(t);this.last_target=e,this.status=Ght,this.__dragstart_e=t,Jht(e,t.type,t)}return!1},this.onmouseup=t=>{if(this.status===Hht)Jht(this.last_target,"dragend",t);else{var e=this.findTarget(t);Jht(e,t.type,t),this.last_target===e&&Jht(e,"click",t)}return this.last_target=null,this.status=Yht,!1},this.onmouseout=t=>{var e=this.findTarget(t);if(this.status===Hht)Jht(this.last_target,"dragend",t);else{if(this.last_target&&this.last_target===e)return;this.last_enter_target&&(Jht(this.last_enter_target,"mouseleave",t),delete this.last_enter_target)}return this.last_target=null,this.status=Yht,!1},this.ontouchstart=t=>{var e=this.findTarget(t);return this.last_target=e,this.status=qht,this.touchPoints||(this.touchPoints=[]),this.touchPoints.push(t.changedTouches[0]),this.holdTimer=setTimeout(()=>{this.status=Wht,Jht(this.last_target,"hold",t),delete this.holdTimer},500),Jht(e,t.type,t),!1},this.ontouchmove=t=>{if(!t.touches||!t.changedTouches)return Jht(this.last_target,"dragstart",t),Jht(this.last_target,"dragmove",t),!1;var e=this.findTarget(t);switch(this.status){case qht:Array.from(t.changedTouches).forEach(t=>{var e=this.touchPoints.find(e=>e.identifier===t.identifier);if(e){var r=e.clientX-t.clientX,n=e.clientY-t.clientY;return Math.sqrt(Math.pow(r,2)+Math.pow(n,2))>=16?(this.status=Vht,void(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer))):void 0}});break;case Vht:if(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer),2===t.changedTouches.length&&null!=t.scale&&1!==t.scale&&(t.scale<.9||t.scale>1.1))return Jht(this.last_target,"pinch",t),!1;Jht(this.last_target,"pan",t),e=this.last_target;break;default:this.last_enter_target!==e&&(this.last_enter_target&&Jht(this.last_enter_target,"mouseleave",t),e&&Jht(e,"mouseenter",t),this.last_enter_target=e),this.last_target=e}return Jht(e,"touchmove",t),!1},this.ontouchend=t=>{var e=this.findTarget(t);switch(this.status){case Vht:e=this.last_target;break;case qht:var r=performance.now(),n=r-this.touchedAt;this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer,Jht(e,n<500?"doubletap":"tap",t),this.touchedAt=r)}Jht(e,"touchend",t);var i=this.touchPoints.findIndex(e=>e.identifier===t.changedTouches[0].identifier);return this.touchPoints.splice(i,1),this.last_target=null,this.status=Wht,!1},this.onwheel=t=>(Jht(this.findTarget(t),t.type,t),!1),this.container=t,this.html_element=e,this.status=Yht,this.last_target=null,this.gesture_handlers=Rst.map(t=>this.gestureHandlerBuilder(t)),this.keyevent_handlers=Dst.map(t=>this.keyeventHandlerBuilder(t)),Rst.forEach((t,r)=>e.addEventListener(t,this.gesture_handlers[r]),{passive:!1}),Dst.forEach((t,r)=>e.addEventListener(t,this.keyevent_handlers[r])),e.ondragover=this.gestureHandlerBuilder("dragover"),e.ondrop=this.gestureHandlerBuilder("drop"),e.tabIndex=1}dispose(){this.last_enter_target&&Jht(this.last_enter_target,"mouseleave",new CustomEvent("mouseleave")),Rst.forEach((t,e)=>this.html_element.removeEventListener(t,this.gesture_handlers[e])),Dst.forEach((t,e)=>this.html_element.removeEventListener(t,this.keyevent_handlers[e])),delete this.gesture_handlers,delete this.keyevent_handlers,delete this.last_target}getChildScrollOffset(){for(const t of this.html_element.children)if(t.scrollTop>0||t.scrollLeft>0)return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop};return{scrollLeft:0,scrollTop:0}}findTarget(t){const e=this.html_element.getBoundingClientRect(),r=this.getChildScrollOffset(),n=t.clientX-e.left+this.html_element.scrollLeft+r.scrollLeft,i=t.clientY-e.top+this.html_element.scrollTop+r.scrollTop;return this.container.capture(n,i)}}function tft(t,e,r,n=0){if(e.length<2)return e;let i=2;for(;i<e.length;i++){const o=e.substring(0,i);if(!(t.measureText(o).width+(o.length-1)*n<r))break}return e.substring(0,i-1)}function eft(t,e,r,n,i=0){const o=String(e).split("\n");return n?[].concat.apply([],o.map(e=>function(t,e,r,n=0){const i=e.split(" "),o=[];let a,s,c=[];for(a=0,s=1;s<=i.length;s++)if(c=i.slice(a,s),t.measureText(c.join(" ")).width+(c.join("").length-1)*n>r){if(s-a==1){const e=tft(t,c[0],r,n);o.push([e]),i.splice(a,1,e,c[0].substring(e.length))}else{for(;""==i[s-1];)s++;o.push(i.slice(a,--s))}a=s}return s-a>1&&o.push(c),0==o.length&&o.push([""]),o}(t,e,r,i))):o.map(t=>t.split(" "))}var rft={},nft={};const ift=()=>{};var oft={register:function(t,e,r){rft[t]=e,r&&(nft[t]=r)},unregister:function(t){delete rft[t],delete nft[t]},get:function(t){return rft[t]},getDisposer:function(t){return nft[t]||ift}};function aft(t){if(!t.hasTextProperty||t.textHidden)return;var{text:e="",bold:r=Lst.BOLD,italic:n=Lst.ITALIC,textWrap:i=Lst.TEXT_WRAP,letterSpacing:o=0,fontFamily:a=Lst.FONT_FAMILY,fontColor:s=Lst.FONT_COLOR,textAlign:c=Lst.TEXT_ALIGN,textBaseline:l=Lst.TEXT_BASELINE,fontSize:u=Lst.FONT_SIZE,lineHeight:h=1.2*u}=t.model,{left:f,top:d,width:p,height:g}=t.textBounds;u||=Lst.FONT_SIZE,h||=1.2*u,t.textHidden=!0;var v=document.createElement("textarea");Rst.forEach(function(t){v.addEventListener(t,function(t){t.stopPropagation()},!0)});const y=t.toGlobal(f,d),{rotation:m,scale:b}=function(t){for(var e=0,r=1,n=t;n;){e+=n.get("rotation")||0;let{x:t,y:i}=n.get("scale")||{x:1,y:1};r*=Math.max(t,i)||1,n=n.parent}return{rotation:e,scale:r}}(t);v.value=e;const x={position:"absolute",width:p+"px",height:g+"px",padding:"0",fontFamily:a,fontSize:u+"px",lineHeight:h+"px",overflow:"hidden",resize:"none",outline:"none",border:"0",backgroundColor:"transparent",display:"inline-block",color:s};switch(r&&(x.fontWeight="bold"),n&&(x.fontStyle="italic"),c){case"right":case"end":x.textAlign="right";break;case"justify":x.textAlign="justify";break;case"left":case"start":x.textAlign="left";break;default:x.textAlign="center"}var w=[r,n,u+"px",a].filter(Boolean).join(" ");function A(e){var r={left:0,top:0},n=h*function(t,e,r,n,i=0){var o,a=t.getContext();return a.save(),a.font=r,o=eft(a,e,n,t.get("textWrap"),i).length,a.restore(),o}(t,e,w,p,o);switch(x.height=n+"px",l){case"top":case"hanging":break;case"bottom":case"alphabetic":r.top=g-n;break;default:r.top=g/2-n/2}if(!i){var a=function(t,e,r,n){var i=e.split("\n"),o=n;let a=t.getContext();return a.save(),a.font=r,i.forEach(t=>{let e=a.measureText(t).width;e>o&&(o=e)}),a.restore(),o}(t,e,w,p);switch(x.width=a+"px",c){case"right":case"end":r.left=p-a;break;case"left":case"start":break;default:r.left=(p-a)/2}}x.marginLeft=r.left+"px",x.marginTop=r.top+"px",x.transform=`translate(${y.x}px, ${y.y}px) scale(${b}) rotate(${m}rad)`,x.transformOrigin=`${-r.left}px ${-r.top}px`,Object.assign(v.style,x)}A(e);var _=t.root.target_element;_.appendChild(v),v.select();var E,S=!1;v.addEventListener("keydown",function(t){t.stopPropagation(),"Escape"!=t.code&&(t.shiftKey||"Enter"!=t.code&&"NumpadEnter"!=t.code)?setTimeout(()=>{A(v.value)}):(S=E.skipUpdate="Escape"==t.code,document.createEvent?v.dispatchEvent(E):v.fireEvent(E.eventType,E))}),document.createEvent?(E=document.createEvent("HTMLEvents")).initEvent("blur",!0,!1):(E=document.createEventObject()).eventType="blur";var k=t.root.selected,M=function(r){t.root.selected=k,t.textHidden=!1,v.removeEventListener("blur",M,!1),v.parentElement&&v.parentElement.removeChild(v),_.focus(),r.skipUpdate||S||t.app.commander.execute(new gut({changes:[{component:t,before:{text:e},after:{text:v.value}}]}))};v.addEventListener("blur",M,!1)}oft.register("text-editor",{"(root)":{"(self)":{keydown:function(t,e){var{origin:r,deliverer:n}=e,i=n.selected;return!(1!==i.length||!i[0].hasTextProperty)&&(("Enter"==t.code||"NumpadEnter"==t.code)&&(aft(i[0]),t.preventDefault(),!0))}}},"model-layer":{"(descendant)":{dblclick:function(t,e){aft(e.origin)}}}});var sft,cft,lft,uft=sst(function(t,e,r){if(t.hasSameParentForAllSelected&&!r){var n=[];e[0].parent.isGroup()?t.focused=e[0].parent:(e.forEach(t=>{t.path.forEach(e=>{n.push(t.toScene(e.x,e.y))})}),t.focused=t.capturePath(n,e))}else t.focused=null},300);oft.register("move-handler",{"model-layer":{"(descendant)":{dragstart:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected,o=n.selected.filter(t=>!t.stuck);if(i.length!==o.length&&(i=n.selected=o),0!=i.length){if(i[0].scalable){var a=i[0].toLocal(t.offsetX,t.offsetY);a=i[0].toParent(a.x,a.y)}else a={x:t.offsetX,y:t.offsetY};if(this.last_pos=a,this.direction=0,n.focused=i[0].parent,t.altKey){var s=[],c=new Map;n.selected=n.selected.filter(t=>!t.isRootModel()).map(t=>{let e=Iut(t,t=>{const e=n.root.getNewRefid();return void 0!==t&&c.set(t,e),e});return s.push({component:e,to_container:t.parent}),e}).map(t=>(t.replaceRefids(c),t)),s.forEach(({component:t,to_container:e})=>{e.addComponent(t)}),this.duplicates=n.selected.map(t=>({component:t}))}else this.changes=gut.before(i)}}},dragmove:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected;if(0!=i.length){if(i[0].scalable){var o=i[0].toLocal(t.offsetX,t.offsetY);o=i[0].toParent(o.x,o.y)}else o={x:t.offsetX,y:t.offsetY};t.shiftKey?2==this.direction&&(this.direction=0):this.direction=2;var a=o.x-this.last_pos.x,s=o.y-this.last_pos.y;if(0==this.direction){if(a*a+s*s<25)return;Math.abs(a)>Math.abs(s)?this.direction=3:this.direction=4}3==this.direction?s=0:4==this.direction&&(a=0),i.forEach(t=>{t.move({x:a,y:s},1===i.length)}),this.last_pos=o,uft(n,i)}}},dragend:function(t,e){var{origin:r,deliverer:n}=e;if(!r.stuck){var i=n.selected;if(0!=i.length){var o=i[0].parent,a=n.focused||e.deliverer;if(this.changes&&!a.isGroup())if(n.hasSameParentForAllSelected&&a&&a!==o){var s=this.changes.map(t=>{let{component:e,before:r}=t;return{component:e,to_container:a}});n.app.commander.execute(new Mut({changes:s}))}else gut.after(this.changes,n.app.commander);else if(this.duplicates){this.duplicates=this.duplicates.map(t=>(t.to_container=a,t));let t=new Mut({changes:this.duplicates});n.app.commander.execute(t)}i.forEach(t=>{t.parent&&t.parent.calculateBounds&&t.parent.calculateBounds()}),this.last_pos=null,this.changes=null,this.duplicates=null,uft(n,i,!0)}}}}},"(root)":{"(self)":{keydown:function(t,e){var{origin:r,deliverer:n}=e,i={},o=t.shiftKey?r.rootModel.MPP:1;switch(t.which){case 37:i.x=-o,i.y=0;break;case 38:i.x=0,i.y=-o;break;case 39:i.x=o,i.y=0;break;case 40:i.x=0,i.y=o;break;default:return}var a=n.selected;gut.around(n.app.commander,function(){a.forEach(t=>{!t.stuck&&t.move(i,!1)})})}}}});const hft=cst(()=>{const{x:t,y:e}=lft,r=cft.deref();r&&(r.rootModel.move({x:t-sft.x,y:e-sft.y},!1),sft={x:t,y:e})},60,{leading:!0,trailing:!0});oft.register("shift-handler",{"model-layer":{"(all)":{dragstart:function(t,e){sft={x:t.offsetX,y:t.offsetY}},dragmove:function(t,e){cft=new WeakRef(e.deliverer),lft={x:t.offsetX,y:t.offsetY},hft()}}}}),oft.register("zoom-handler",{"model-layer":{"(all)":{wheel:function(t,e){if(0==t.deltaY&&0==t.deltaX)return;var r=e.deliverer,n=t.deltaY<0?1:-1;let i=r.get("scale")||{x:1,y:1},o=r.get("translate"),a=t.offsetX,s=t.offsetY,c=r.toLocal(a,s),l=.1*n,u={x:i.x+l,y:i.y+l};if(n<0&&i.x<.2||n>0&&i.x>10)return;r.set("scale",u);let h=r.toLocal(a,s);r.set("translate",{x:o.x+(h.x-c.x)*u.x,y:o.y+(h.y-c.y)*u.y})}},"(self)":{dblclick:function(t,e){const r=e.origin;r?.root.fit()}}}});var fft={},dft={};function pft(t){const e={};for(const r in t)t.hasOwnProperty(r)&&void 0!==t[r]&&(e[r]=t[r]);return e}oft.register("paste-handler",{"(root)":{"(self)":{stylepastestart:function(t){const{deliverer:e}=t,r=e.app;var n=e.selected;if(n&&n[0]&&n!==e.rootModel){const t=n[0],{fillStyle:e,strokeStyle:i,alpha:o,lineWidth:a,lineDash:s,lineCap:c,lineJoin:l,fontColor:u,fontSize:h,fontFamily:f,bold:d,italic:p,textAlign:g,textBaseline:v,textOverflow:y,paddingTop:m,paddingBottom:b,paddingLeft:x,paddingRight:w}=t.state;fft=Xat({fillStyle:e,strokeStyle:i,alpha:o,lineWidth:a,lineDash:s,lineCap:c,lineJoin:l,fontColor:u,fontSize:h,fontFamily:f,bold:d,italic:p,textAlign:g,textBaseline:v,textOverflow:y,paddingTop:m,paddingBottom:b,paddingLeft:x,paddingRight:w}),r.mode=4}},stylepastestop:function(t){const{deliverer:e}=t,r=e.app;fft={},4==r.mode&&(r.mode=1)},databindpastestart:function(t){const{deliverer:e}=t,r=e.app;var n=e.selected;if(n&&n[0]&&n!==e.rootModel){const t=n[0],{mappings:e}=t.state;dft=Xat({mappings:e}),r.mode=5}},databindpastestop:function(t){const{deliverer:e}=t,r=e.app;dft={},5==r.mode&&(r.mode=1)},keydown:function(t,e){const{deliverer:r}=e;"Esc"!=t.code&&"Escape"!=t.code||(4==r.app.mode?r.trigger("stylepastestop"):5==r.app.mode&&r.trigger("databindpastestop"))}}},"model-layer":{"(all)":{click:function(t,e){const{deliverer:r}=e,n=r.app;if(4!=n.mode&&5!=n.mode)return;const i=e.origin;4==n.mode?i===r?r.root.trigger("stylepastestop"):i&&gut.around(n.commander,()=>{const t=pft({...i.model,...fft});i?.set(t)}):i===r?r.root.trigger("databindpastestop"):i&&gut.around(n.commander,()=>{const t=pft({...i.model,...dft});i?.set(t)})}}}});class gft{constructor(){this.animatorMap=new Map}waypoint(t,e){this.animatorMap.has(t)&&this.off(t);var{from:r,to:n}=e;if("string"==typeof r&&(r=t.root?.findById(r)),"string"==typeof n&&(n=t.root.findById(n)),!n)return void console.warn("WaypointAnimation: Source or target component not found");const i=Sat(t,{type:"waypoint",fromComponent:r,toComponent:n,...e,onComplete:()=>{this.off(t)}});this.animatorMap.set(t,i),i.start()}off(t){const e=this.animatorMap.get(t);e&&(e.stop(),this.animatorMap.delete(t))}reset(t){if(this.animatorMap.size>0){for(const t of this.animatorMap.values())t.stop();this.animatorMap.clear()}}dispose(){this.reset(null),this.animatorMap=null}}function vft(t){const{origin:e}=t,r=e.root,{waypointHandler:n}=r;n?.reset()}oft.register("waypoint-handler",{"model-layer":{"(descendant)":{waypoint:function(t,e){const{origin:r}=e,n=r.root;let{waypointHandler:i}=n;i||(i=new gft,n.waypointHandler=i),i.waypoint(r,t)},waypointoff:function(t){const{origin:e}=t,r=e.root,{waypointHandler:n}=r;n?n.off(e):console.warn("waypoint-handler not found")},waypointreset:vft},"(self)":{waypointreset:vft}}},function(t){const{waypointHandler:e}=t;e&&(e.dispose(),delete t.waypointHandler)});var yft=[],mft=sst(function(){yft.forEach(t=>{t.resize()})},100);"undefined"!=typeof window&&window.addEventListener("resize",mft);class bft extends Tlt{constructor(t,e){super(Object.assign({type:"root",scale:{x:1,y:1}},t||{}),e),this._maxRefid=e.isViewMode?1e6:0,t=t||{},this.fitMode=t.model&&t.model.fitMode,this._app=e,this.style=t.style,this.indexMap=new Map,this.refidIndexMap=new Map,this.templateMap={},this.target_element=t.target_element,this.rebuildContentModel(this.model.model),yft.push(this)}dispose(){ylt.hideAll(this),this._app&&this._app.dispose(),super.dispose(),this._disposeAllResources(),this.target_element=null,this._refresh_mapping_debouncer&&"function"==typeof this._refresh_mapping_debouncer.cancel&&this._refresh_mapping_debouncer.cancel(),delete this._refresh_mapping_debouncer;var t=yft.indexOf(this);t>=0&&yft.splice(t,1),this.refidIndexMap.clear(),this.indexMap.clear(),this._maxRefid=0}isRoot(){return!0}get app(){return this._app}get target_element(){return this._target_element}set target_element(t){this._ua_event_handler&&(this._ua_event_handler.dispose(),delete this._ua_event_handler),t&&(t.style.position="absolute",t.style.cursor="default",t.style.overflow="hidden",t.setAttribute("scene","root-container"),this._ua_event_handler=new Zht(this,t)),this.forEach(e=>e.target=t),this._target_element=t}get unitScale(){switch(this.model_layer&&this.model_layer.get("unit")){case"mm":case"cm":case"in":return this.app.PPM/10;default:return 1}}addTemplate(t,e){var r=this.templateMap[t];r&&Ost("Template replaced (duplicated)",t,e,r),this.templateMap[t]=e,delete this.templatePrefixes}removeTemplate(t,e){var r=this.templateMap[t];r!==e?Tst("Removing template failed (different)",t,e,r):delete this.templateMap[t],delete this.templatePrefixes}findTemplateFor(t){this.templatePrefixes||(this.templatePrefixes=Object.keys(this.templateMap).sort().reverse());var e=this.templatePrefixes.find(e=>t.startsWith(e));if(e)return this.templateMap[e]}addIndex(t,e){if(!t)return;const r=t.toString().replace(/^#/,""),n=this.indexMap.get(r)||[];n.push(e),this.indexMap.set(r,n)}removeIndex(t,e){if(!t)return;const r=t.toString().replace(/^#/,""),n=this.indexMap.get(r)||[],i=n.indexOf(e);-1===i?Tst("Removing index failed (not found)",t,e):(n.splice(i,1),0===n.length?this.indexMap.delete(r):this.indexMap.set(r,n))}addRefidIndex(t,e){null==t&&(t=this.getNewRefid(),e.set("refid",t)),this._maxRefid=Math.max(t,this._maxRefid);var r=this.refidIndexMap.get(t);r&&Ost("Refid Index replaced (has not to be)",t,e,r),this.refidIndexMap.set(t,e)}removeRefidIndex(t,e){if(null!=t){var r=this.refidIndexMap.get(t);r!==e?Ost("Refid Removing index failed (has not to be)",t,e,r):this.refidIndexMap.delete(t)}}getNewRefid(){return this._maxRefid=(this._maxRefid||0)+1,this._maxRefid}async subscribe(t,e){this._app.isViewMode&&t&&this._app&&(e._subscription=await this._app.subscribe(t,e))}async unsubscribe(t,e){e._subscription&&(await e._subscription.unsubscribe(),delete e._subscription)}findById(t){if(!t)return null;const e=t.toString().replace(/^#/,"");return(this.indexMap.get(e)||[])[0]}findAllById(t){if(!t)return[];const e=t.toString().replace(/^#/,"");return this.indexMap.get(e)||[]}findByRefid(t){return this.refidIndexMap.get(t)}findOrCreate(t){var e=this.findAllById(t);if(!e||0===e.length){if(this.app&&!this.app.isEditMode){let e=this.findTemplateFor(t);if(e){let r=Put(Object.assign(Xat(e.hierarchy),{id:t,templatePrefix:""}),this.app);return this.model_layer.addComponent(r),[r]}}return[]}return e}resize(){this.components.forEach(t=>{t.resize&&t.resize()}),this.invalidate()}_disposeAllResources(){this.selected=[],this._focused=null,this._ready=!1,this.eventEngine&&(this.assist_handlers&&this.assist_handlers.forEach(t=>{this.eventEngine.remove(t)}),this.eventEngine.dispose(),delete this.eventEngine),(this.model.handlers||[]).map(t=>{oft.getDisposer(t).call(null,this)}),this.assist_layers&&this.assist_layers.forEach(t=>{t.dispose(),this.removeComponent(t)}),delete this.assist_layers,this.model_layer&&this.model_layer.dispose(),this.model_layer&&this.removeComponent(this.model_layer),delete this.model_layer,this.indexMap=new Map,this.refidIndexMap=new Map,this.templateMap={}}rebuildContentModel(t){this._disposeAllResources(),this.eventEngine=new $ht(this),(t=t||{}).type="model-layer",this.model_layer=Put(t,this.app),this.addComponent(this.model_layer),this.model_layer.target=this.target_element,this.assist_layers=(this.model.layers||[]).map(t=>{var e=Put(t,this.app);if(e)return this.addComponent(e),e.target=this.target_element,e;Ost("Layer compile failed",t)}).filter(Boolean),this.assist_handlers=(this.model.handlers||[]).map(t=>{var e={};return this.eventEngine.add(e,oft.get(t)),e}),this._ready=!0,this.traverse(t=>t.ready())}get root(){return this}get anchors(){}get isReady(){return this._ready}get rootModel(){return this.model_layer}get stuck(){return!0}get data(){const t={};for(const[e,r]of this.indexMap.entries())r.length>0&&(t[e]=r[0].data);return t}set data(t){for(var e in t){var r=this.findOrCreate(e);r&&0!==r.length&&r.forEach(r=>r.data=t[e])}}get dataByRefid(){var t={};for(let[e,r]of this.refidIndexMap.entries())t[e]=r.data;return t}set dataByRefid(t){for(var e in t){var r=this.findByRefid(Number(e));r&&(r.data=t[e])}}get values(){const t={};for(const[e,r]of this.indexMap.entries())r.length>0&&(t[e]=r[0].value);return t}set values(t){for(var e in t){var r=this.findOrCreate(e);r&&0!==r.length&&r.forEach(r=>r.value=t[e])}}get valuesByRefid(){var t={};for(let[e,r]of this.refidIndexMap.entries())t[e]=r.value;return t}set valuesByRefid(t){for(var e in t){var r=this.findByRefid(Number(e));r&&(r.value=t[e])}}get selected(){return(this._selected||[]).filter(t=>t.parent)}set selected(t){var e=this._selected;if(this._selected=t,!t||t.length<=1)this.hasSameParentForAllSelected=!0;else{let e=t[0].parent;this.hasSameParentForAllSelected=!t.find(t=>t.parent!=e)}this.trigger("selected",t,e)}get focused(){return this._focused}set focused(t){this._focused!==t&&(this._focused=t,this.invalidate())}get style(){return this._style}set style(t){this._style=t,this._compiled_style=t}get hasTextProperty(){return!1}render(){this.components.forEach(t=>t.draw())}contains(t,e){return!0}capturePath(t,e){return this.model_layer.capturePath(t,e)}invalidate(){this.components.forEach(t=>t.invalidate())}_areAliasesEqual(t,e){if(!Array.isArray(t)&&!Array.isArray(e))return!0;if(!Array.isArray(t)||!Array.isArray(e))return!1;if(t.length!==e.length)return!1;const r=[...t].sort(),n=[...e].sort();return r.every((t,e)=>t===n[e])}get eventMap(){return{"(root)":{"(descendant)":{added:this.onadded,removed:this.onremoved,change:this.onchanged}}}}refreshMappings(){if(!this._refresh_mapping_debouncer){if(this.disposed)return;this._refresh_mapping_debouncer=sst(function t(e){e.executeMappings(),e.components&&e.components.forEach(e=>t(e))},1e3)}this._refresh_mapping_debouncer(this.model_layer)}_addTraverse(t){t.components&&t.components.forEach(t=>this._addTraverse(t));var{id:e,alias:r,refid:n,tag:i,templatePrefix:o}=t.model;this.addRefidIndex(n,t),e&&this.addIndex(e,t),Array.isArray(r)&&r.forEach(e=>{e&&this.addIndex(e,t)}),i&&this.subscribe(i,t),o&&this.addTemplate(o,t);var a=gst({},t.eventMap,t.model.eventMap);this.eventEngine.add(t,a)}_removeTraverse(t){t.components&&t.components.forEach(t=>this._removeTraverse(t));var{id:e,alias:r,refid:n,tag:i,templatePrefix:o}=t.model;this.removeRefidIndex(n,t),e&&this.removeIndex(e,t),Array.isArray(r)&&r.forEach(e=>{e&&this.removeIndex(e,t)}),i&&this.unsubscribe(i,t),o&&this.removeTemplate(o,t),this.eventEngine.remove(t)}onadded(t,e){this._addTraverse(e),this.refreshMappings(),this.invalidate()}onremoved(t,e){this._removeTraverse(e),this.invalidate()}onchanged(t,e,r){e.templatePrefix&&this.removeTemplate(e.templatePrefix,r.origin),t.templatePrefix&&this.addTemplate(t.templatePrefix,r.origin),e.id&&this.removeIndex(e.id,r.origin),t.id&&this.addIndex(t.id,r.origin),Array.isArray(e.alias)&&e.alias.forEach(t=>{t&&this.removeIndex(t,r.origin)}),Array.isArray(t.alias)&&t.alias.forEach(t=>{t&&this.addIndex(t,r.origin)}),e.tag&&this.unsubscribe(e.tag,r.origin),t.tag&&this.subscribe(t.tag,r.origin),e.id==t.id&&e.class==t.class&&this._areAliasesEqual(e.alias,t.alias)||this.refreshMappings()}}Object.assign(bft.prototype,{fit:function(t){var{width:e,height:r,fitMode:n}=this.model_layer.model,i=this.target_element,o=this.model_layer;if(this.fitMode=t||this.fitMode||n||"ratio",e&&r&&i&&i.clientWidth&&i.clientHeight){switch(this.fitMode){case"center":!function(t,e,r){var n=t.unitScale,{width:i,height:o}=e.model;e.set("scale",{x:n,y:n}),e.set("translate",{x:Math.max((r.clientWidth-i*n)/2,0),y:Math.max((r.clientHeight-o*n)/2,0)})}(this,o,i);break;case"both":!function(t,e,r){var{width:n,height:i}=e.model,o=r.clientWidth,a=r.clientHeight;e.set("scale",{x:o/n,y:a/i}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"width":!function(t,e,r){var n=r.clientWidth/e.get("width");e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"height":!function(t,e,r){var n=r.clientHeight/e.get("height");e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(0,o,i);break;case"ratio":!function(t,e,r){var{width:n,height:i}=e.model,o=r.clientWidth,a=r.clientHeight,s=o/n,c=a/i,l=Math.min(s,c);e.set("scale",{x:l,y:l}),e.set("translate",{x:(o-n*l)/2,y:(a-i*l)/2})}(0,o,i);break;default:!function(t,e){var r=t.unitScale;e.set("scale",{x:r,y:r}),e.set("translate",{x:0,y:0})}(this,o)}this.resize()}}}),tlt.memoize(bft.prototype,"unitScale",!1);var xft=13.3,wft=function(t){return void 0!==t&&(xft=t),xft};const Aft="$base_url";const _ft=Math.PI/12;class Eft{constructor(t,e){this._mode=t,this.screen=wft(),this._baseUrl="undefined"!=typeof window?window.location.origin:null,this._refProvider=e,this.isEditMode&&(this._rotateStep=_ft,this._rotateStepForced=!1)}dispose(){this._dataSubscriptionProvider&&this._dataSubscriptionProvider.dispose(),delete this._dataStorage}_calcScreen(){var t={width:screen.width,height:screen.height};this._PPI=function(t,e,r,n){t>0||(t=1),e>0||(e=1),n||(n="d");var i=("d"==n?Math.sqrt(t*t+e*e):"w"==n?t:e)/r;return i>0?Math.round(i):0}(t.width,t.height,this.screen),this._PPM=this._PPI/25.4}subscribe(t,e){return this._dataSubscriptionProvider?.subscribe(t,e)}get refProvider(){return this._refProvider}set dataSubscriptionProvider(t){this._dataSubscriptionProvider=t}get dataSubscriptionProvider(){return this._dataSubscriptionProvider}set commander(t){this._commander=t}get commander(){return this._commander}get screen(){return this._screen}set screen(t){this._screen=t,this._calcScreen()}get DPPX(){return Cst}get PPI(){return this._PPI}get PPM(){return this._PPM}get mode(){return this._mode}set mode(t){var e=this._mode;e!==t&&(this._mode=t,this.trigger("mode",t,e))}get isViewMode(){return 0==this._mode}get isEditMode(){return 1==this._mode}get baseUrl(){return this._baseUrl}set baseUrl(t){t&&this._baseUrl!=t&&(this._baseUrl=t)}url(t){try{return(t.includes(Aft)?new URL(t.replace(Aft,this.baseUrl),this.baseUrl):new URL(t,location.origin)).href}catch(e){Tst(e,t)}}get rotateStep(){return this._rotateStep}set rotateStep(t){this._rotateStep=Number(t)||_ft}get rotateStepForced(){return this._rotateStepForced}set rotateStepForced(t){this._rotateStepForced=!!t}get dataStorage(){return this._dataStorage}set dataStorage(t){this._dataStorage=t}}Mst(Eft.prototype,Ast.withEvent);class Sft{constructor(t,e){!(t=Number(t))||t<=0?(Ost("TimeCapsule maxsize should be greater than 0.",t),this.maxsize=10):this.maxsize=t,this.reset(),e&&(this.snapshot(e),this.preserve())}preserve(){this.checkPoint=this.pos}hasUnpreservedChanges(){return this.checkPoint!=this.pos}dispose(){this.reset()}snapshot(t){if(this.q.splice(this.pos+1,this.q.length-(this.pos+1),t),this.q.length>this.maxsize){const t=this.q.splice(0,this.q.length-this.maxsize);this.checkPoint=Math.max(-1,this.checkPoint-t.length)}this.pos=this.q.length-1}forward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.forwardable)return this.q[++this.pos];Tst("Not forwardable.")}backward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.backwardable)return this.q[--this.pos];Tst("Not backwardable.")}get current(){if(-1!==this.pos)return this.q[this.pos];Tst("Non state has been recorded.")}get length(){return this.q.length}get forwardable(){return this.pos<this.q.length-1}get backwardable(){return this.pos>0}get snapshot_taker(){return this._snapshot_taker}set snapshot_taker(t){this._snapshot_taker=t}reset(){this.q=[],this.pos=-1,this.checkPoint=-1}}var kft=sst(t=>{t.brake||t.take()},1e3,{leading:!0,trailing:!1});function Mft(t){!t.brake&&t.dirty&&kft(t)}class Oft{constructor(t,e){this._brake=!1,this.dirty=!1,this.brake=!1,this.dirty=!1,this.state_holder=t,this.timecapsule=e,this.timecapsule.snapshot_taker=this}dispose(){delete this.state_holder,delete this.timecapsule}touch(){this.dirty=!0,Mft(this)}take(t=!1){(this.dirty||t)&&(this.timecapsule.snapshot(this.state_holder.state),this.dirty=!1)}get brake(){return this._brake}set brake(t){this._brake=!!t,Mft(this)}}function Tft(t,e){var r=e.model_layer.get("scale"),n=e.model_layer.get("translate");if(t){let i=JSON.parse(t);i.scale=r,i.translate=n,e.rebuildContentModel(i)}}class Pft{constructor(t){this.container=t,this.timecapsule=new Sft(20);var e=this;this.snapshot_taker=new Oft({get state(){let t=e.container.model_layer.hierarchy;return JSON.stringify(t)}},this.timecapsule),this.snapshot_taker.take(!0),this.timecapsule.preserve()}dispose(){this.reset(),this.timecapsule&&this.timecapsule.dispose(),this.snapshot_taker&&this.snapshot_taker.dispose(),delete this.container,delete this.timecapsule,delete this.snapshot_taker}preserve(){this.timecapsule.preserve()}hasUnpreservedChanges(){return this.timecapsule.hasUnpreservedChanges()}execute(t,e){!1!==e&&t&&t.execute(),this.snapshot_taker.touch(),this.trigger("execute",t,!0,!1)}undo(){this.timecapsule.backwardable&&(Tft(this.timecapsule.backward(),this.container),this.trigger("undo",this.undoable(),this.redoable()))}redo(){this.timecapsule.forwardable&&(Tft(this.timecapsule.forward(),this.container),this.trigger("redo",this.undoable(),this.redoable()))}undoable(){return this.timecapsule.backwardable}redoable(){return this.timecapsule.forwardable}reset(){this.timecapsule&&this.timecapsule.reset(),this.trigger("command-reset")}}Mst(Pft.prototype,Ast.withEvent);var Ift=0;const Cft=new FinalizationRegistry(t=>{Ift--});class Rft{static get residents(){return Ift}static get residentsCount(){return Ift}constructor(t){this._container=t,this.app=t.app,this._commander=new Pft(this._container),this.app.commander=this._commander,Ift++,Cft.register(this,Ift)}add(){return Rut.apply(this._container,arguments)}duplicate(){return Dut.apply(this._container,arguments)}remove(){return Lut.apply(this._container,arguments)}animate(){return Aat.apply(this,arguments)}fullscreen(){return zut.apply(this._container,arguments)}get target(){return this._container.target_element}set target(t){var e;if("string"==typeof t){if(!(e=document.getElementById(t)))throw`target element '${t}' is not exist`;if(e.firstChild)throw`target element '${t}' already has children`}else e=t;e&&e.style&&(e.style.cursor="default"),this._container.target_element=e,this._container.invalidate()}get scale(){return this.root.get("scale")}set scale(t){this.root.set("scale",t)}get translate(){return this.root.get("translate")}set translate(t){this.root.set("translate",t)}get unit(){return this.root.get("unit")||"px"}get PPM(){return this.app.PPM}get PPI(){return this.app.PPI}get DPPX(){return this.app.DPPX}static get DPPX(){return Cst}get unitScale(){return this._container.unitScale}get screen(){return this.app.screen}set screen(t){this.app.screen=t,this._container.resize()}resize(){this._container.resize()}release(){this.dispose()}dispose(){this._commander&&this._commander.dispose(),this._container&&this._container.dispose()}get selected(){return this._container.selected.slice()}set selected(t){this._container.selected=t}select(t,...e){return this._container.selected=this.root?.findAll(t,...e),this.selected}get commander(){return this._commander}undo(){this.commander.undo()}undoable(){return this.commander.undoable()}redo(){this.commander.redo()}redoable(){return this.commander.redoable()}preserve(){this.commander.preserve()}hasUnpreservedChanges(){return this.commander.hasUnpreservedChanges()}cut(){return $ut.apply(this._container,arguments)}copy(){return But.apply(this._container,arguments)}paste(){return Yut.apply(this._container,arguments)}undoableChange(){return cht.apply(this._container,arguments)}change(){return sht.apply(this.root,arguments)}get model(){return this.root.hierarchy}set model(t){this._container.rebuildContentModel(t)}get rootContainer(){return this._container}get root(){return this._container?.model_layer}findAll(){return this.root.findAll.apply(this.root,arguments)}findFirst(){return this.root.findFirst.apply(this.root,arguments)}findById(){return this._container.findById.apply(this._container,arguments)}findAllById(){return this._container.findAllById.apply(this._container,arguments)}serialize(){return this.root.trim(),this.root.serialize.apply(this.root,arguments)}align(){return Aut.apply(this._container,arguments)}place(){return vht.apply(this._container,arguments)}distribute(){return Sut.apply(this._container,arguments)}move(){return Out.apply(this._container,arguments)}zorder(){return Tut.apply(this._container,arguments)}symmetryX(){return oht.apply(this._container,arguments)}symmetryY(){return aht.apply(this._container,arguments)}on(){return jut.apply(this._container,arguments)}once(){return Nut.apply(this._container,arguments)}off(){return this._container&&Fut.apply(this._container,arguments)}centerTo(t,e){return this.root.centerTo(t,e)}get mode(){return this.app.mode}set mode(t){void 0!==t&&(this.app.mode=t)}toDataURL(){return tht.apply(this._container,arguments)}group(){return eht.apply(this._container,arguments)}ungroup(){return rht.apply(this._container,arguments)}fit(t){this._container.once("redraw",()=>this._container.fit(t)),this._container.invalidate()}get fitMode(){return this._container.fitMode}get ids(){return lht.apply(this._container)}get data(){return this._container.data}set data(t){this._container.data=t}get dataByRefid(){return this._container.dataByRefid}set dataByRefid(t){this._container.dataByRefid=t}get values(){return this._container.values}set values(t){this._container.values=t}get valuesByRefid(){return this._container.valuesByRefid}set valuesByRefid(t){this._container.valuesByRefid=t}get baseUrl(){return this.app.baseUrl}set baseUrl(t){this.app.baseUrl=t}startAddMode(){return yht.apply(this._container,arguments)}startStylePasteMode(){return mht.apply(this._container,arguments)}stopStylePasteMode(){return bht.apply(this._container,arguments)}startDatabindPasteMode(){return xht.apply(this._container,arguments)}stopDatabindPasteMode(){return wht.apply(this._container,arguments)}}const Dft=new class{load(t){}save(t,e){}clear(t){}};function Lft(t,e,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(t):n?n.value:e.get(t)}function jft(t,e,r,n,i){if("m"===n)throw new TypeError("Private method is not writable");if("a"===n&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(t,r):i?i.value=r:e.set(t,r),r}"function"==typeof SuppressedError&&SuppressedError;
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("dompurify"),require("three"),require("three/examples/jsm/lines/Line2.js"),require("three/examples/jsm/lines/LineMaterial.js"),require("three/examples/jsm/lines/LineGeometry.js"),require("three/examples/jsm/renderers/CSS3DRenderer.js"),require("tinycolor2"),require("three/examples/jsm/environments/RoomEnvironment.js"),require("three/examples/jsm/postprocessing/EffectComposer.js"),require("three/examples/jsm/postprocessing/RenderPass.js"),require("three/examples/jsm/postprocessing/OutlinePass.js"),require("three/examples/jsm/postprocessing/OutputPass.js"),require("three/examples/jsm/postprocessing/SMAAPass.js"),require("three/examples/jsm/controls/TransformControls.js"),require("three/examples/jsm/loaders/GLTFLoader.js"),require("three/examples/jsm/loaders/DRACOLoader.js"),require("three/examples/jsm/loaders/KTX2Loader.js"),require("three/examples/jsm/libs/meshopt_decoder.module.js")):"function"==typeof define&&define.amd?define(["exports","dompurify","three","three/examples/jsm/lines/Line2.js","three/examples/jsm/lines/LineMaterial.js","three/examples/jsm/lines/LineGeometry.js","three/examples/jsm/renderers/CSS3DRenderer.js","tinycolor2","three/examples/jsm/environments/RoomEnvironment.js","three/examples/jsm/postprocessing/EffectComposer.js","three/examples/jsm/postprocessing/RenderPass.js","three/examples/jsm/postprocessing/OutlinePass.js","three/examples/jsm/postprocessing/OutputPass.js","three/examples/jsm/postprocessing/SMAAPass.js","three/examples/jsm/controls/TransformControls.js","three/examples/jsm/loaders/GLTFLoader.js","three/examples/jsm/loaders/DRACOLoader.js","three/examples/jsm/loaders/KTX2Loader.js","three/examples/jsm/libs/meshopt_decoder.module.js"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).scene={},t.DOMPurify,t.THREE,t.Line2_js,t.LineMaterial_js,t.LineGeometry_js,t.THREE,t.tinycolor,t.RoomEnvironment_js,t.THREE,t.THREE,t.OutlinePass_js,t.OutputPass_js,t.SMAAPass_js,t.THREE,t.THREE,t.THREE,t.THREE,t.THREE)}(this,function(t,e,n,r,i,s,o,a,c,l,h,u,d,p,f,g,m,y,b){"use strict";function v(t){var e=Object.create(null);return t&&Object.keys(t).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})}}),e.default=t,Object.freeze(e)}var x=v(n);function _(t,e){return t===e||t!=t&&e!=e}function w(t,e){for(var n=t.length;n--;)if(_(t[n][0],e))return n;return-1}var A=Array.prototype.splice;function S(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}S.prototype.clear=function(){this.__data__=[],this.size=0},S.prototype.delete=function(t){var e=this.__data__,n=w(e,t);return!(n<0)&&(n==e.length-1?e.pop():A.call(e,n,1),--this.size,!0)},S.prototype.get=function(t){var e=this.__data__,n=w(e,t);return n<0?void 0:e[n][1]},S.prototype.has=function(t){return w(this.__data__,t)>-1},S.prototype.set=function(t,e){var n=this.__data__,r=w(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var M="object"==typeof global&&global&&global.Object===Object&&global,E="object"==typeof self&&self&&self.Object===Object&&self,k=M||E||Function("return this")(),C=k.Symbol,T=Object.prototype,P=T.hasOwnProperty,O=T.toString,D=C?C.toStringTag:void 0;var j=Object.prototype.toString;var I=C?C.toStringTag:void 0;function z(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":I&&I in Object(t)?function(t){var e=P.call(t,D),n=t[D];try{t[D]=void 0;var r=!0}catch(t){}var i=O.call(t);return r&&(e?t[D]=n:delete t[D]),i}(t):function(t){return j.call(t)}(t)}function R(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function L(t){if(!R(t))return!1;var e=z(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var F,N=k["__core-js_shared__"],B=(F=/[^.]+$/.exec(N&&N.keys&&N.keys.IE_PROTO||""))?"Symbol(src)_1."+F:"";var G=Function.prototype.toString;function Y(t){if(null!=t){try{return G.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var U=/^\[object .+?Constructor\]$/,H=Function.prototype,W=Object.prototype,V=H.toString,$=W.hasOwnProperty,X=RegExp("^"+V.call($).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function q(t){return!(!R(t)||(e=t,B&&B in e))&&(L(t)?X:U).test(Y(t));var e}function K(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return q(n)?n:void 0}var Z=K(k,"Map"),Q=K(Object,"create");var J=Object.prototype.hasOwnProperty;var tt=Object.prototype.hasOwnProperty;function et(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function nt(t,e){var n=t.__data__;return function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}(e)?n["string"==typeof e?"string":"hash"]:n.map}function rt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}et.prototype.clear=function(){this.__data__=Q?Q(null):{},this.size=0},et.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},et.prototype.get=function(t){var e=this.__data__;if(Q){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return J.call(e,t)?e[t]:void 0},et.prototype.has=function(t){var e=this.__data__;return Q?void 0!==e[t]:tt.call(e,t)},et.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Q&&void 0===e?"__lodash_hash_undefined__":e,this},rt.prototype.clear=function(){this.size=0,this.__data__={hash:new et,map:new(Z||S),string:new et}},rt.prototype.delete=function(t){var e=nt(this,t).delete(t);return this.size-=e?1:0,e},rt.prototype.get=function(t){return nt(this,t).get(t)},rt.prototype.has=function(t){return nt(this,t).has(t)},rt.prototype.set=function(t,e){var n=nt(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};function it(t){var e=this.__data__=new S(t);this.size=e.size}it.prototype.clear=function(){this.__data__=new S,this.size=0},it.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},it.prototype.get=function(t){return this.__data__.get(t)},it.prototype.has=function(t){return this.__data__.has(t)},it.prototype.set=function(t,e){var n=this.__data__;if(n instanceof S){var r=n.__data__;if(!Z||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new rt(r)}return n.set(t,e),this.size=n.size,this};function st(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new rt;++e<n;)this.add(t[e])}function ot(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}st.prototype.add=st.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},st.prototype.has=function(t){return this.__data__.has(t)};function at(t,e,n,r,i,s){var o=1&n,a=t.length,c=e.length;if(a!=c&&!(o&&c>a))return!1;var l=s.get(t),h=s.get(e);if(l&&h)return l==e&&h==t;var u=-1,d=!0,p=2&n?new st:void 0;for(s.set(t,e),s.set(e,t);++u<a;){var f=t[u],g=e[u];if(r)var m=o?r(g,f,u,e,t,s):r(f,g,u,t,e,s);if(void 0!==m){if(m)continue;d=!1;break}if(p){if(!ot(e,function(t,e){if(o=e,!p.has(o)&&(f===t||i(f,t,n,r,s)))return p.push(e);var o})){d=!1;break}}else if(f!==g&&!i(f,g,n,r,s)){d=!1;break}}return s.delete(t),s.delete(e),d}var ct=k.Uint8Array;function lt(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function ht(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}var ut=C?C.prototype:void 0,dt=ut?ut.valueOf:void 0;function pt(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}var ft=Array.isArray;function gt(){return[]}var mt=Object.prototype.propertyIsEnumerable,yt=Object.getOwnPropertySymbols,bt=yt?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,s=[];++n<r;){var o=t[n];e(o,n,t)&&(s[i++]=o)}return s}(yt(t),function(e){return mt.call(t,e)}))}:gt;function vt(t){return null!=t&&"object"==typeof t}function xt(t){return vt(t)&&"[object Arguments]"==z(t)}var _t=Object.prototype,wt=_t.hasOwnProperty,At=_t.propertyIsEnumerable,St=xt(function(){return arguments}())?xt:function(t){return vt(t)&&wt.call(t,"callee")&&!At.call(t,"callee")};var Mt="object"==typeof t&&t&&!t.nodeType&&t,Et=Mt&&"object"==typeof module&&module&&!module.nodeType&&module,kt=Et&&Et.exports===Mt?k.Buffer:void 0,Ct=(kt?kt.isBuffer:void 0)||function(){return!1},Tt=/^(?:0|[1-9]\d*)$/;function Pt(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&Tt.test(t))&&t>-1&&t%1==0&&t<e}function Ot(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var Dt={};function jt(t){return function(e){return t(e)}}Dt["[object Float32Array]"]=Dt["[object Float64Array]"]=Dt["[object Int8Array]"]=Dt["[object Int16Array]"]=Dt["[object Int32Array]"]=Dt["[object Uint8Array]"]=Dt["[object Uint8ClampedArray]"]=Dt["[object Uint16Array]"]=Dt["[object Uint32Array]"]=!0,Dt["[object Arguments]"]=Dt["[object Array]"]=Dt["[object ArrayBuffer]"]=Dt["[object Boolean]"]=Dt["[object DataView]"]=Dt["[object Date]"]=Dt["[object Error]"]=Dt["[object Function]"]=Dt["[object Map]"]=Dt["[object Number]"]=Dt["[object Object]"]=Dt["[object RegExp]"]=Dt["[object Set]"]=Dt["[object String]"]=Dt["[object WeakMap]"]=!1;var It="object"==typeof t&&t&&!t.nodeType&&t,zt=It&&"object"==typeof module&&module&&!module.nodeType&&module,Rt=zt&&zt.exports===It&&M.process,Lt=function(){try{var t=zt&&zt.require&&zt.require("util").types;return t||Rt&&Rt.binding&&Rt.binding("util")}catch(t){}}(),Ft=Lt&&Lt.isTypedArray,Nt=Ft?jt(Ft):function(t){return vt(t)&&Ot(t.length)&&!!Dt[z(t)]},Bt=Object.prototype.hasOwnProperty;function Gt(t,e){var n=ft(t),r=!n&&St(t),i=!n&&!r&&Ct(t),s=!n&&!r&&!i&&Nt(t),o=n||r||i||s,a=o?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],c=a.length;for(var l in t)!e&&!Bt.call(t,l)||o&&("length"==l||i&&("offset"==l||"parent"==l)||s&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Pt(l,c))||a.push(l);return a}var Yt=Object.prototype;function Ut(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||Yt)}function Ht(t,e){return function(n){return t(e(n))}}var Wt=Ht(Object.keys,Object),Vt=Object.prototype.hasOwnProperty;function $t(t){if(!Ut(t))return Wt(t);var e=[];for(var n in Object(t))Vt.call(t,n)&&"constructor"!=n&&e.push(n);return e}function Xt(t){return null!=t&&Ot(t.length)&&!L(t)}function qt(t){return Xt(t)?Gt(t):$t(t)}function Kt(t){return function(t,e,n){var r=e(t);return ft(t)?r:pt(r,n(t))}(t,qt,bt)}var Zt=Object.prototype.hasOwnProperty;var Qt=K(k,"DataView"),Jt=K(k,"Promise"),te=K(k,"Set"),ee=K(k,"WeakMap"),ne="[object Map]",re="[object Promise]",ie="[object Set]",se="[object WeakMap]",oe="[object DataView]",ae=Y(Qt),ce=Y(Z),le=Y(Jt),he=Y(te),ue=Y(ee),de=z;(Qt&&de(new Qt(new ArrayBuffer(1)))!=oe||Z&&de(new Z)!=ne||Jt&&de(Jt.resolve())!=re||te&&de(new te)!=ie||ee&&de(new ee)!=se)&&(de=function(t){var e=z(t),n="[object Object]"==e?t.constructor:void 0,r=n?Y(n):"";if(r)switch(r){case ae:return oe;case ce:return ne;case le:return re;case he:return ie;case ue:return se}return e});var pe="[object Arguments]",fe="[object Array]",ge="[object Object]",me=Object.prototype.hasOwnProperty;function ye(t,e,n,r,i,s){var o=ft(t),a=ft(e),c=o?fe:de(t),l=a?fe:de(e),h=(c=c==pe?ge:c)==ge,u=(l=l==pe?ge:l)==ge,d=c==l;if(d&&Ct(t)){if(!Ct(e))return!1;o=!0,h=!1}if(d&&!h)return s||(s=new it),o||Nt(t)?at(t,e,n,r,i,s):function(t,e,n,r,i,s,o){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!s(new ct(t),new ct(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return _(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var a=lt;case"[object Set]":var c=1&r;if(a||(a=ht),t.size!=e.size&&!c)return!1;var l=o.get(t);if(l)return l==e;r|=2,o.set(t,e);var h=at(a(t),a(e),r,i,s,o);return o.delete(t),h;case"[object Symbol]":if(dt)return dt.call(t)==dt.call(e)}return!1}(t,e,c,n,r,i,s);if(!(1&n)){var p=h&&me.call(t,"__wrapped__"),f=u&&me.call(e,"__wrapped__");if(p||f){var g=p?t.value():t,m=f?e.value():e;return s||(s=new it),i(g,m,n,r,s)}}return!!d&&(s||(s=new it),function(t,e,n,r,i,s){var o=1&n,a=Kt(t),c=a.length;if(c!=Kt(e).length&&!o)return!1;for(var l=c;l--;){var h=a[l];if(!(o?h in e:Zt.call(e,h)))return!1}var u=s.get(t),d=s.get(e);if(u&&d)return u==e&&d==t;var p=!0;s.set(t,e),s.set(e,t);for(var f=o;++l<c;){var g=t[h=a[l]],m=e[h];if(r)var y=o?r(m,g,h,e,t,s):r(g,m,h,t,e,s);if(!(void 0===y?g===m||i(g,m,n,r,s):y)){p=!1;break}f||(f="constructor"==h)}if(p&&!f){var b=t.constructor,v=e.constructor;b==v||!("constructor"in t)||!("constructor"in e)||"function"==typeof b&&b instanceof b&&"function"==typeof v&&v instanceof v||(p=!1)}return s.delete(t),s.delete(e),p}(t,e,n,r,i,s))}function be(t,e,n,r,i){return t===e||(null==t||null==e||!vt(t)&&!vt(e)?t!=t&&e!=e:ye(t,e,n,r,be,i))}var ve=function(){try{var t=K(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();function xe(t,e,n){"__proto__"==e&&ve?ve(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}var _e=Object.prototype.hasOwnProperty;function we(t,e,n){var r=t[e];_e.call(t,e)&&_(r,n)&&(void 0!==n||e in t)||xe(t,e,n)}function Ae(t,e,n,r){var i=!n;n||(n={});for(var s=-1,o=e.length;++s<o;){var a=e[s],c=r?r(n[a],t[a],a,n,t):void 0;void 0===c&&(c=t[a]),i?xe(n,a,c):we(n,a,c)}return n}function Se(t){return t}function Me(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var Ee=Math.max;function ke(t){return function(){return t}}var Ce=ve?function(t,e){return ve(t,"toString",{configurable:!0,enumerable:!1,value:ke(e),writable:!0})}:Se,Te=Date.now;var Pe=function(t){var e=0,n=0;return function(){var r=Te(),i=16-(r-n);if(n=r,i>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Ce);function Oe(t,e){return Pe(function(t,e,n){return e=Ee(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=Ee(r.length-e,0),o=Array(s);++i<s;)o[i]=r[e+i];i=-1;for(var a=Array(e+1);++i<e;)a[i]=r[i];return a[e]=n(o),Me(t,this,a)}}(t,e,Se),t+"")}function De(t,e,n){if(!R(n))return!1;var r=typeof e;return!!("number"==r?Xt(n)&&Pt(e,n.length):"string"==r&&e in n)&&_(n[e],t)}var je=Object.prototype.hasOwnProperty;function Ie(t){if(!R(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=Ut(t),n=[];for(var r in t)("constructor"!=r||!e&&je.call(t,r))&&n.push(r);return n}function ze(t){return Xt(t)?Gt(t,!0):Ie(t)}var Re,Le=(Re=function(t,e,n,r){Ae(e,ze(e),t,r)},Oe(function(t,e){var n=-1,r=e.length,i=r>1?e[r-1]:void 0,s=r>2?e[2]:void 0;for(i=Re.length>3&&"function"==typeof i?(r--,i):void 0,s&&De(e[0],e[1],s)&&(i=r<3?void 0:i,r=1),t=Object(t);++n<r;){var o=e[n];o&&Re(t,o,n,i)}return t})),Fe=Ht(Object.getPrototypeOf,Object),Ne=Function.prototype,Be=Object.prototype,Ge=Ne.toString,Ye=Be.hasOwnProperty,Ue=Ge.call(Object);function He(t){if(!vt(t))return!1;var e=z(t);return"[object Error]"==e||"[object DOMException]"==e||"string"==typeof t.message&&"string"==typeof t.name&&!function(t){if(!vt(t)||"[object Object]"!=z(t))return!1;var e=Fe(t);if(null===e)return!0;var n=Ye.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&Ge.call(n)==Ue}(t)}var We=Oe(function(t,e){try{return Me(t,void 0,e)}catch(t){return He(t)?t:new Error(t)}});function Ve(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var $e=Object.prototype,Xe=$e.hasOwnProperty;function qe(t,e,n,r){return void 0===t||_(t,$e[n])&&!Xe.call(r,n)?e:t}var Ke={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};function Ze(t){return"\\"+Ke[t]}var Qe=/<%=([\s\S]+?)%>/g;var Je,tn=(Je={"&":"&","<":"<",">":">",'"':""","'":"'"},function(t){return null==Je?void 0:Je[t]});function en(t){return"symbol"==typeof t||vt(t)&&"[object Symbol]"==z(t)}var nn=C?C.prototype:void 0,rn=nn?nn.toString:void 0;function sn(t){if("string"==typeof t)return t;if(ft(t))return Ve(t,sn)+"";if(en(t))return rn?rn.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function on(t){return null==t?"":sn(t)}var an=/[&<>"']/g,cn=RegExp(an.source);var ln={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:Qe,variable:"",imports:{_:{escape:function(t){return(t=on(t))&&cn.test(t)?t.replace(an,tn):t}}}},hn=/\b__p \+= '';/g,un=/\b(__p \+=) '' \+/g,dn=/(__e\(.*?\)|\b__t\)) \+\n'';/g,pn=/[()=,{}\[\]\/\s]/,fn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,gn=/($^)/,mn=/['\n\r\u2028\u2029\\]/g,yn=Object.prototype.hasOwnProperty;var bn="object"==typeof t&&t&&!t.nodeType&&t,vn=bn&&"object"==typeof module&&module&&!module.nodeType&&module,xn=vn&&vn.exports===bn?k.Buffer:void 0,_n=xn?xn.allocUnsafe:void 0;var wn=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)pt(e,bt(t)),t=Fe(t);return e}:gt;var An=Object.prototype.hasOwnProperty;var Sn=/\w*$/;var Mn=C?C.prototype:void 0,En=Mn?Mn.valueOf:void 0;function kn(t,e,n){var r,i,s,o,a,c=t.constructor;switch(e){case"[object ArrayBuffer]":return a=new(o=t).constructor(o.byteLength),new ct(a).set(new ct(o)),a;case"[object Boolean]":case"[object Date]":return new c(+t);case"[object DataView]":return s=(i=t).buffer,new i.constructor(s,i.byteOffset,i.byteLength);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t){var e=t.buffer;return new t.constructor(e,t.byteOffset,t.length)}(t);case"[object Map]":case"[object Set]":return new c;case"[object Number]":case"[object String]":return new c(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,Sn.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return r=t,En?Object(En.call(r)):{}}}var Cn=Object.create,Tn=function(){function t(){}return function(e){if(!R(e))return{};if(Cn)return Cn(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}();var Pn=Lt&&Lt.isMap,On=Pn?jt(Pn):function(t){return vt(t)&&"[object Map]"==de(t)};var Dn=Lt&&Lt.isSet,jn=Dn?jt(Dn):function(t){return vt(t)&&"[object Set]"==de(t)},In="[object Arguments]",zn="[object Function]",Rn="[object Object]",Ln={};function Fn(t,e,n,r,i,s){var o,a=2&e;if(void 0!==o)return o;if(!R(t))return t;var c=ft(t);if(c)return o=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&An.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}(t,o);var l=de(t),h=l==zn||"[object GeneratorFunction]"==l;if(Ct(t))return function(t){var e=t.length,n=_n?_n(e):new t.constructor(e);return t.copy(n),n}(t);if(l==Rn||l==In||h&&!i)return o=h?{}:function(t){return"function"!=typeof t.constructor||Ut(t)?{}:Tn(Fe(t))}(t),a?function(t,e){return Ae(t,wn(t),e)}(t,function(t,e){return t&&Ae(e,ze(e),t)}(o,t)):function(t,e){return Ae(t,bt(t),e)}(t,function(t,e){return t&&Ae(e,qt(e),t)}(o,t));if(!Ln[l])return i?t:{};o=kn(t,l),s||(s=new it);var u=s.get(t);if(u)return u;s.set(t,o),jn(t)?t.forEach(function(r){o.add(Fn(r,e,n,r,t,s))}):On(t)&&t.forEach(function(r,i){o.set(i,Fn(r,e,n,i,t,s))});var d=c?void 0:Kt(t);return function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););}(d||t,function(r,i){d&&(r=t[i=r]),we(o,i,Fn(r,e,n,i,t,s))}),o}Ln[In]=Ln["[object Array]"]=Ln["[object ArrayBuffer]"]=Ln["[object DataView]"]=Ln["[object Boolean]"]=Ln["[object Date]"]=Ln["[object Float32Array]"]=Ln["[object Float64Array]"]=Ln["[object Int8Array]"]=Ln["[object Int16Array]"]=Ln["[object Int32Array]"]=Ln["[object Map]"]=Ln["[object Number]"]=Ln[Rn]=Ln["[object RegExp]"]=Ln["[object Set]"]=Ln["[object String]"]=Ln["[object Symbol]"]=Ln["[object Uint8Array]"]=Ln["[object Uint8ClampedArray]"]=Ln["[object Uint16Array]"]=Ln["[object Uint32Array]"]=!0,Ln["[object Error]"]=Ln[zn]=Ln["[object WeakMap]"]=!1;function Nn(t){return Fn(t,4)}var Bn=function(){return k.Date.now()},Gn=/\s/;var Yn=/^\s+/;function Un(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&Gn.test(t.charAt(e)););return e}(t)+1).replace(Yn,""):t}var Hn=/^[-+]0x[0-9a-f]+$/i,Wn=/^0b[01]+$/i,Vn=/^0o[0-7]+$/i,$n=parseInt;function Xn(t){if("number"==typeof t)return t;if(en(t))return NaN;if(R(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=R(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Un(t);var n=Wn.test(t);return n||Vn.test(t)?$n(t.slice(2),n?2:8):Hn.test(t)?NaN:+t}var qn=Math.max,Kn=Math.min;function Zn(t,e,n){var r,i,s,o,a,c,l=0,h=!1,u=!1,d=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function p(e){var n=r,s=i;return r=i=void 0,l=e,o=t.apply(s,n)}function f(t){var n=t-c;return void 0===c||n>=e||n<0||u&&t-l>=s}function g(){var t=Bn();if(f(t))return m(t);a=setTimeout(g,function(t){var n=e-(t-c);return u?Kn(n,s-(t-l)):n}(t))}function m(t){return a=void 0,d&&r?p(t):(r=i=void 0,o)}function y(){var t=Bn(),n=f(t);if(r=arguments,i=this,c=t,n){if(void 0===a)return function(t){return l=t,a=setTimeout(g,e),h?p(t):o}(c);if(u)return clearTimeout(a),a=setTimeout(g,e),p(c)}return void 0===a&&(a=setTimeout(g,e)),o}return e=Xn(e)||0,R(n)&&(h=!!n.leading,s=(u="maxWait"in n)?qn(Xn(n.maxWait)||0,e):s,d="trailing"in n?!!n.trailing:d),y.cancel=function(){void 0!==a&&clearTimeout(a),l=0,r=c=i=a=void 0},y.flush=function(){return void 0===a?o:m(Bn())},y}function Qn(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return R(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),Zn(t,e,{leading:r,maxWait:e,trailing:i})}var Jn=1/0;function tr(t){var e=function(t){return t?(t=Xn(t))===Jn||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}(t),n=e%1;return e==e?n?e-n:e:0}function er(t){return function(t,e){var n;if("function"!=typeof e)throw new TypeError("Expected a function");return t=tr(t),function(){return--t>0&&(n=e.apply(this,arguments)),t<=1&&(e=void 0),n}}(2,t)}var nr=Object.prototype.hasOwnProperty;function rr(t){if(null==t)return!0;if(Xt(t)&&(ft(t)||"string"==typeof t||"function"==typeof t.splice||Ct(t)||Nt(t)||St(t)))return!t.length;var e=de(t);if("[object Map]"==e||"[object Set]"==e)return!t.size;if(Ut(t))return!$t(t).length;for(var n in t)if(nr.call(t,n))return!1;return!0}let ir=0;function sr(t={},...e){return"object"!=typeof t&&(t={}),e.forEach(e=>{for(const n in e)"object"!=typeof e[n]?t[n]=e[n]:e[n].length>0?t[n]=e[n].map(t=>{let r;return r="object"!=typeof e[n]?t:sr({},t),r}):t[n]=sr(t[n],e[n])}),t}function or(t){for(;t&&"object"==typeof t;){const e=t;for(const e in t){t=t[e];break}if(t===e){t=void 0;break}}return t}function ar(t,e){if(!this.__collection__)return this;return-1==this.__collection__.indexOf(e)&&this.__collection__.splice(t,0,e),this}function cr(t){return this.__collection__||(this.__collection__=[]),-1==this.__collection__.indexOf(t)&&this.__collection__.push(t),this}function lr(t){return this.__collection__||(this.__collection__=[]),-1==this.__collection__.indexOf(t)&&this.__collection__.unshift(t),this}function hr(t){if(!this.__collection__)return this;const e=this.__collection__.indexOf(t);return e>=0&&this.__collection__.splice(e,1),this}function ur(t){if(this.__collection__)return this.__collection__[t]}function dr(t,e){this.__collection__&&this.__collection__.forEach(t,e)}function pr(t){return this.__collection__?this.__collection__.indexOf(t):-1}function fr(){return this.__collection__?this.__collection__.length:0}function gr(){this.__collection__=[]}function mr(t){const e=this.indexOf(t);-1!=e&&0!=e&&(this.__collection__[e]=this.__collection__[e-1],this.__collection__[e-1]=t)}function yr(t){const e=this.indexOf(t);-1!=e&&e!=this.size()-1&&(this.__collection__[e]=this.__collection__[e+1],this.__collection__[e+1]=t)}function br(t){const e=this.indexOf(t);if(-1==e||0==e)return;const n=this.__collection__.splice(0,e),r=this.__collection__.splice(1);this.__collection__=this.__collection__.concat(n,r)}function vr(t){const e=this.indexOf(t);if(-1==e||e==this.size()-1)return;const n=this.__collection__.splice(0,e),r=this.__collection__.splice(1);this.__collection__=n.concat(r,this.__collection__)}class xr{constructor(){this.__collection__=[],this.insertAt=ar,this.append=cr,this.prepend=lr,this.remove=hr,this.getAt=ur,this.forEach=dr,this.indexOf=pr,this.size=fr,this.clear=gr,this.moveForward=mr,this.moveBackward=yr,this.moveToHead=br,this.moveToTail=vr}}const _r=new class{constructor(){this.drawCount=0,this.drawTimeSum=0,this.drawTimeLast=0,this.invalidateCount=0,this.triggerCount=0,this.cacheHit=0,this.cacheMiss=0,this._lastSnapshotTime=0,this._frameCount=0,this._getResidents=null}registerResidents(t){this._getResidents=t}countFrame(){this._frameCount++}snapshot(){const t=performance.now(),e=this.drawCount,n=this.cacheHit+this.cacheMiss,r=this._getResidents?.()??null;let i=0;if(this._lastSnapshotTime>0){const e=t-this._lastSnapshotTime;e>0&&(i=Math.round(1e3*this._frameCount/e))}this._lastSnapshotTime=t,this._frameCount=0;const s={fps:i,drawCount:e,drawTimeAvg:e>0?Math.round(this.drawTimeSum/e*100)/100:0,drawTimeLast:Math.round(100*this.drawTimeLast)/100,invalidateCount:this.invalidateCount,triggerCount:this.triggerCount,cacheHitRate:n>0?Math.round(this.cacheHit/n*1e3)/10:0,...r??{}};return this.drawCount=0,this.drawTimeSum=0,this.invalidateCount=0,this.triggerCount=0,this.cacheHit=0,this.cacheMiss=0,s}},wr=/\s+/;function Ar(t,e,n,r){if(!n)return!0;if("object"==typeof n){for(const r in n){const i=n[r];t[e].apply(t,[r,i])}return!1}if(wr.test(n)){return n.split(wr).forEach(n=>t[e].apply(t,[n].concat(r))),!1}return!0}const Sr=["on","off","once","delegate_on","delegate_off","trigger","listenTo"],Mr={withEvent(){Sr.forEach(t=>this[t]=Mr[t])},on(t,e,n){if(!Ar(this,"on",t,[e,n])||!e)return this;this._listeners||(this._listeners={});return(this._listeners[t]||(this._listeners[t]=[])).push({callback:e,context:n,ctx:n||this}),this},once(t,e,n){if(!Ar(this,"once",t,[e,n])||!e)return this;const r=this,i=er(function(){r.off(t,i,n),e.apply(r,arguments)});return i._callback=e,this.on(t,i,n),this},off(t,e,n){if(!this._listeners||!Ar(this,"off",t,[e,n]))return this;if(!t&&!e&&!n)return this._listeners=void 0,this;let r;r=t&&"string"==typeof t?[t]:Object.keys(this._listeners||{});for(let t=0;t<r.length;t++){const i=r[t],s=this._listeners?.[i];if(s){const t=[];if(this._listeners[i]=t,e||n)for(let r=0;r<s.length;r++){const i=s[r];(e&&e!==i.callback&&e!==i.callback._callback||n&&n!==i.context)&&t.push(i)}t.length||delete this._listeners[i]}}return this},delegate_on(t){return this._delegators||(this._delegators=new xr),this._delegators.append(t),this},delegate_off(t){return this._delegators?(this._delegators.remove(t),this):this},delegate(){if(this._delegators&&this._delegators.size()>0&&kr(this._delegators,arguments),!this._listeners)return this;const t=arguments.length-1,e=arguments[t];arguments[t]={origin:e.origin,name:e.name,deliverer:this};const n=this._listeners[e.name],r=this._listeners["(all)"];return n&&Er(n,arguments),r&&Er(r,arguments),this},trigger(t){_r.triggerCount++;const e=[].slice.call(arguments,1);if(e.push({origin:this,name:t,deliverer:this}),this._delegators&&this._delegators.size()>0&&kr(this._delegators,e),!this._listeners)return this;if(!Ar(this,"trigger",t,e))return this;const n=this._listeners[t],r=this._listeners["(all)"];return n&&Er(n,e),r&&Er(r,e),this},stopListening(t,e,n){let r=this._listeningTo;if(!r)return this;const i=!e&&!n;n||"object"!=typeof e||(n=this),t&&(r={},r[t._listenId]=t);for(const t in r){const s=r[t];s.off(e,n,this),(i||rr(s._events))&&delete this._listeningTo[t]}return this}};function Er(t,e){t.forEach(t=>t.callback.apply(t.ctx,e))}function kr(t,e){t.forEach(t=>Mr.delegate.apply(t,e))}const Cr={listenTo:"on",listenToOnce:"once"};for(const t in Cr){const e=Cr[t];Mr[t]=function(t,n,r){this._listeningTo||(this._listeningTo={});const i=this._listeningTo;t._listenId||(t._listenId=`${"l"}${++ir}`);return i[t._listenId]=t,r||"object"!=typeof n||(r=this),t[e](n,r,this),this}}const Tr=Mr.on,Pr=Mr.off,Or=Mr.once,Dr=Mr.trigger,jr=Mr.delegate_on,Ir=Mr.delegate_off;function zr(t,e){if(e instanceof Array)e.forEach(e=>zr(t,e));else{if(t.mixedIn=t.hasOwnProperty("mixedIn")?t.mixedIn:[],t.mixingIn=t.hasOwnProperty("mixingIn")?t.mixingIn:[],t.mixedIn.indexOf(e)>=0)return t;if(t.mixingIn.indexOf(e)>=0)throw new Error(`found cyclic dependencies between ${t.mixingIn}`);t.mixingIn.push(e),e.call(t),t.mixingIn.pop(),t.mixedIn.push(e)}return t}const Rr=(...t)=>{const e=[];t.forEach(t=>t&&t.stack&&e.push(t.stack)),console.error("[ERROR]",...t,e.join(" "))},Lr=(...t)=>{const e=[];t.forEach(t=>t&&t.stack&&e.push(t.stack)),console.warn("[WARN]",...t,e.join(" "))},Fr=(...t)=>console.log("[DEBUG]",...t);function Nr(t,e,n){const r=function(t,e){let n=t;for(;n;){const t=Object.getOwnPropertyDescriptor(n,e);if(t?.get)return t;n=Object.getPrototypeOf(n)}}(t,e);if(!r?.get)return void Rr(`${String(e)} is not defined in ${t.constructor.name}`);const i=r.get,s={get:n?function(){return e in this.__cache__?_r.cacheHit++:(_r.cacheMiss++,this.__cache__[e]=Object.freeze(i.call(this))),this.__cache__[e]}:function(){return e in this.__cache__?_r.cacheHit++:(_r.cacheMiss++,this.__cache__[e]=i.call(this)),this.__cache__[e]},configurable:!0};r.set&&(s.set=r.set),Object.defineProperty(t,e,s)}var Br="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Gr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function Yr(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Ur,Hr={exports:{}};var Wr=(Ur||(Ur=1,function(t){var e=function(t){var e,n=Object.prototype,r=n.hasOwnProperty,i=Object.defineProperty||function(t,e,n){t[e]=n.value},s="function"==typeof Symbol?Symbol:{},o=s.iterator||"@@iterator",a=s.asyncIterator||"@@asyncIterator",c=s.toStringTag||"@@toStringTag";function l(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{l({},"")}catch(t){l=function(t,e,n){return t[e]=n}}function h(t,e,n,r){var s=e&&e.prototype instanceof y?e:y,o=Object.create(s.prototype),a=new P(r||[]);return i(o,"_invoke",{value:E(t,n,a)}),o}function u(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=h;var d="suspendedStart",p="suspendedYield",f="executing",g="completed",m={};function y(){}function b(){}function v(){}var x={};l(x,o,function(){return this});var _=Object.getPrototypeOf,w=_&&_(_(O([])));w&&w!==n&&r.call(w,o)&&(x=w);var A=v.prototype=y.prototype=Object.create(x);function S(t){["next","throw","return"].forEach(function(e){l(t,e,function(t){return this._invoke(e,t)})})}function M(t,e){function n(i,s,o,a){var c=u(t[i],t,s);if("throw"!==c.type){var l=c.arg,h=l.value;return h&&"object"==typeof h&&r.call(h,"__await")?e.resolve(h.__await).then(function(t){n("next",t,o,a)},function(t){n("throw",t,o,a)}):e.resolve(h).then(function(t){l.value=t,o(l)},function(t){return n("throw",t,o,a)})}a(c.arg)}var s;i(this,"_invoke",{value:function(t,r){function i(){return new e(function(e,i){n(t,r,e,i)})}return s=s?s.then(i,i):i()}})}function E(t,n,r){var i=d;return function(s,o){if(i===f)throw new Error("Generator is already running");if(i===g){if("throw"===s)throw o;return{value:e,done:!0}}for(r.method=s,r.arg=o;;){var a=r.delegate;if(a){var c=k(a,r);if(c){if(c===m)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===d)throw i=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=f;var l=u(t,n,r);if("normal"===l.type){if(i=r.done?g:p,l.arg===m)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(i=g,r.method="throw",r.arg=l.arg)}}}function k(t,n){var r=n.method,i=t.iterator[r];if(i===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,k(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),m;var s=u(i,t.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,m;var o=s.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,m):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,m)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function P(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(null!=t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,s=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return s.next=s}}throw new TypeError(typeof t+" is not iterable")}return b.prototype=v,i(A,"constructor",{value:v,configurable:!0}),i(v,"constructor",{value:b,configurable:!0}),b.displayName=l(v,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===b||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,v):(t.__proto__=v,l(t,c,"GeneratorFunction")),t.prototype=Object.create(A),t},t.awrap=function(t){return{__await:t}},S(M.prototype),l(M.prototype,a,function(){return this}),t.AsyncIterator=M,t.async=function(e,n,r,i,s){void 0===s&&(s=Promise);var o=new M(h(e,n,r,i),s);return t.isGeneratorFunction(n)?o:o.next().then(function(t){return t.done?t.value:o.next()})},S(A),l(A,c,"Generator"),l(A,o,function(){return this}),l(A,"toString",function(){return"[object Generator]"}),t.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},t.values=O,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(T),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return a.type="throw",a.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var s=this.tryEntries.length-1;s>=0;--s){var o=this.tryEntries[s],a=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var c=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(c&&l){if(this.prev<o.catchLoc)return i(o.catchLoc,!0);if(this.prev<o.finallyLoc)return i(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return i(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return i(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var s=i;break}}s&&("break"===t||"continue"===t)&&s.tryLoc<=e&&e<=s.finallyLoc&&(s=null);var o=s?s.completion:{};return o.type=t,o.arg=e,s?(this.method="next",this.next=s.finallyLoc,m):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),m},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),T(n),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:O(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),m}},t}(t.exports);try{regeneratorRuntime=e}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}Number.isInteger=Number.isInteger||function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},String.fromCodePoint||function(t){var e=function(e){for(var n=[],r=0,i="",s=0,o=arguments.length;s!==o;++s){var a=+arguments[s];if(!(a<1114111&&a>>>0===a))throw RangeError("Invalid code point: "+a);a<=65535?r=n.push(a):(a-=65536,r=n.push(55296+(a>>10),a%1024+56320)),r>=16383&&(i+=t.apply(null,n),n.length=0)}return i+t.apply(null,n)};try{Object.defineProperty(String,"fromCodePoint",{value:e,configurable:!0,writable:!0})}catch(t){String.fromCodePoint=e}}(String.fromCharCode),Object.is||(Object.is=function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e})
|
|
2
|
+
/*! https://mths.be/codepointat v0.2.0 by @mathias */,String.prototype.codePointAt||function(){var t=function(){try{var t={},e=Object.defineProperty,n=e(t,t,t)&&e}catch(t){}return n}(),e=function(t){if(null==this)throw TypeError();var e=String(this),n=e.length,r=t?Number(t):0;if(r!=r&&(r=0),!(r<0||r>=n)){var i,s=e.charCodeAt(r);return s>=55296&&s<=56319&&n>r+1&&(i=e.charCodeAt(r+1))>=56320&&i<=57343?1024*(s-55296)+i-56320+65536:s}};t?t(String.prototype,"codePointAt",{value:e,configurable:!0,writable:!0}):String.prototype.codePointAt=e}(),Math.log10=Math.log10||function(t){return Math.log(t)*Math.LOG10E},t.exports=function(){function t(e,n,r){function i(o,a){if(!n[o]){if(!e[o]){if(!a&&Yr)return Yr(o);if(s)return s(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[o]={exports:{}};e[o][0].call(l.exports,function(t){return i(e[o][1][t]||t)},l,l.exports,t,e,n,r)}return n[o].exports}for(var s=Yr,o=0;o<r.length;o++)i(r[o]);return i}return t}()({1:[function(t,e,n){var r=t("./utils"),i=function(){var t=r.stringToArray,e=["Zero","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"],n=["Zeroth","First","Second","Third","Fourth","Fifth","Sixth","Seventh","Eighth","Ninth","Tenth","Eleventh","Twelfth","Thirteenth","Fourteenth","Fifteenth","Sixteenth","Seventeenth","Eighteenth","Nineteenth"],i=["Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety","Hundred"],s=["Thousand","Million","Billion","Trillion"];function o(t,r){var o=function t(r,o,a){var c="";if(r<=19)c=(o?" and ":"")+(a?n[r]:e[r]);else if(r<100){var l=Math.floor(r/10),h=r%10;c=(o?" and ":"")+i[l-2],h>0?c+="-"+t(h,!1,a):a&&(c=c.substring(0,c.length-1)+"ieth")}else if(r<1e3){var u=Math.floor(r/100),d=r%100;c=(o?", ":"")+e[u]+" Hundred",d>0?c+=t(d,!0,a):a&&(c+="th")}else{var p=Math.floor(Math.log10(r)/3);p>s.length&&(p=s.length);var f=Math.pow(10,3*p),g=Math.floor(r/f),m=r-g*f;c=(o?", ":"")+t(g,!1,!1)+" "+s[p-1],m>0?c+=t(m,!0,a):a&&(c+="th")}return c};return o(t,!1,r)}var a={};function c(t){var e=t.split(/,\s|\sand\s|[\s\\-]/).map(function(t){return a[t]}),n=[0];e.forEach(function(t){if(t<100){var e=n.pop();e>=1e3&&(n.push(e),e=0),n.push(e+t)}else n.push(n.pop()*t)});var r=n.reduce(function(t,e){return t+e},0);return r}e.forEach(function(t,e){a[t.toLowerCase()]=e}),n.forEach(function(t,e){a[t.toLowerCase()]=e}),i.forEach(function(t,e){var n=t.toLowerCase();a[n]=10*(e+2),a[n.substring(0,t.length-1)+"ieth"]=a[n]}),a.hundredth=100,s.forEach(function(t,e){var n=t.toLowerCase(),r=Math.pow(10,3*(e+1));a[n]=r,a[n+"th"]=r});var l=[[1e3,"m"],[900,"cm"],[500,"d"],[400,"cd"],[100,"c"],[90,"xc"],[50,"l"],[40,"xl"],[10,"x"],[9,"ix"],[5,"v"],[4,"iv"],[1,"i"]],h={M:1e3,D:500,C:100,L:50,X:10,V:5,I:1};function u(t){for(var e=0;e<l.length;e++){var n=l[e];if(t>=n[0])return n[1]+u(t-n[0])}return""}function d(t){for(var e=0,n=1,r=t.length-1;r>=0;r--){var i=t[r],s=h[i];s<n?e-=s:(n=s,e+=s)}return e}function p(t,e){for(var n=[],r=e.charCodeAt(0);t>0;)n.unshift(String.fromCharCode((t-1)%26+r)),t=Math.floor((t-1)/26);return n.join("")}function f(t,e){for(var n=e.charCodeAt(0),r=0,i=0;i<t.length;i++)r+=(t.charCodeAt(t.length-i-1)-n+1)*Math.pow(26,i);return r}function g(t,e){if(void 0!==t)return b(t=Math.floor(t),x(e))}var m={DECIMAL:"decimal",LETTERS:"letters",ROMAN:"roman",WORDS:"words",SEQUENCE:"sequence"},y={UPPER:"upper",LOWER:"lower",TITLE:"title"};function b(e,n){var r,i=e<0;switch(e=Math.abs(e),n.primary){case m.LETTERS:r=p(e,n.case===y.UPPER?"A":"a");break;case m.ROMAN:r=u(e),n.case===y.UPPER&&(r=r.toUpperCase());break;case m.WORDS:r=o(e,n.ordinal),n.case===y.UPPER?r=r.toUpperCase():n.case===y.LOWER&&(r=r.toLowerCase());break;case m.DECIMAL:r=""+e;var s=n.mandatoryDigits-r.length;if(s>0){var a=new Array(s+1).join("0");r=a+r}if(48!==n.zeroCode&&(r=t(r).map(function(t){return String.fromCodePoint(t.codePointAt(0)+n.zeroCode-48)}).join("")),n.regular)for(var c=Math.floor((r.length-1)/n.groupingSeparators.position);c>0;c--){var l=r.length-c*n.groupingSeparators.position;r=r.substr(0,l)+n.groupingSeparators.character+r.substr(l)}else n.groupingSeparators.reverse().forEach(function(t){var e=r.length-t.position;r=r.substr(0,e)+t.character+r.substr(e)});if(n.ordinal){var h={1:"st",2:"nd",3:"rd"}[r[r.length-1]];(!h||r.length>1&&"1"===r[r.length-2])&&(h="th"),r+=h}break;case m.SEQUENCE:throw{code:"D3130",value:n.token}}return i&&(r="-"+r),r}var v=[48,1632,1776,1984,2406,2534,2662,2790,2918,3046,3174,3302,3430,3558,3664,3792,3872,4160,4240,6112,6160,6470,6608,6784,6800,6992,7088,7232,7248,42528,43216,43264,43472,43504,43600,44016,65296];function x(e){var n,r={type:"integer",primary:m.DECIMAL,case:y.LOWER,ordinal:!1},i=e.lastIndexOf(";");switch(-1===i?n=e:(n=e.substring(0,i),"o"===e.substring(i+1)[0]&&(r.ordinal=!0)),n){case"A":r.case=y.UPPER;case"a":r.primary=m.LETTERS;break;case"I":r.case=y.UPPER;case"i":r.primary=m.ROMAN;break;case"W":r.case=y.UPPER,r.primary=m.WORDS;break;case"Ww":r.case=y.TITLE,r.primary=m.WORDS;break;case"w":r.primary=m.WORDS;break;default:var s=null,o=0,a=0,c=[],l=0,h=t(n).map(function(t){return t.codePointAt(0)}).reverse();if(h.forEach(function(t){for(var e=!1,n=0;n<v.length;n++){var r=v[n];if(t>=r&&t<=r+9){if(e=!0,o++,l++,null===s)s=r;else if(r!==s)throw{code:"D3131"};break}}e||(35===t?(l++,a++):c.push({position:l,character:String.fromCodePoint(t)}))}),o>0){r.primary=m.DECIMAL,r.zeroCode=s,r.mandatoryDigits=o,r.optionalDigits=a;var u=function(t){if(0===t.length)return 0;for(var e=t[0].character,n=1;n<t.length;n++)if(t[n].character!==e)return 0;for(var r=t.map(function(t){return t.position}),i=function t(e,n){return 0===n?e:t(n,e%n)},s=r.reduce(i),o=1;o<=r.length;o++)if(-1===r.indexOf(o*s))return 0;return s},d=u(c);d>0?(r.regular=!0,r.groupingSeparators={position:d,character:c[0].character}):(r.regular=!1,r.groupingSeparators=c)}else r.primary=m.SEQUENCE,r.token=n}return r}var _={Y:"1",M:"1",D:"1",d:"1",F:"n",W:"1",w:"1",X:"1",x:"1",H:"1",h:"1",P:"n",m:"01",s:"01",f:"1",Z:"01:01",z:"01:01",C:"n",E:"n"};function w(t){for(var e=[],n={type:"datetime",parts:e},r=function(n,r){if(r>n){var i=t.substring(n,r);i=i.split("]]").join("]"),e.push({type:"literal",value:i})}},i=0,s=0;s<t.length;){if("["===t.charAt(s)){if("["===t.charAt(s+1)){r(i,s),e.push({type:"literal",value:"["}),i=s+=2;continue}if(r(i,s),i=s,-1===(s=t.indexOf("]",i)))throw{code:"D3135"};var o,a=t.substring(i+1,s),c={type:"marker",component:(a=a.split(/\s+/).join("")).charAt(0)},l=a.lastIndexOf(",");if(-1!==l){var h=a.substring(l+1),u=h.indexOf("-"),d=void 0,p=void 0,f=function(t){return void 0===t||"*"===t?void 0:parseInt(t)};-1===u?d=h:(d=h.substring(0,u),p=h.substring(u+1));var g={min:f(d),max:f(p)};c.width=g,o=a.substring(1,l)}else o=a.substring(1);if(1===o.length)c.presentation1=o;else if(o.length>1){var m=o.charAt(o.length-1);-1!=="atco".indexOf(m)?(c.presentation2=m,"o"===m&&(c.ordinal=!0),c.presentation1=o.substring(0,o.length-1)):c.presentation1=o}else c.presentation1=_[c.component];if(void 0===c.presentation1)throw{code:"D3132",value:c.component};if("n"===c.presentation1[0])c.names=y.LOWER;else if("N"===c.presentation1[0])"n"===c.presentation1[1]?c.names=y.TITLE:c.names=y.UPPER;else if(-1!=="YMDdFWwXxHhmsf".indexOf(c.component)){var b=c.presentation1;if(c.presentation2&&(b+=";"+c.presentation2),c.integerFormat=x(b),c.width&&void 0!==c.width.min&&c.integerFormat.mandatoryDigits<c.width.min&&(c.integerFormat.mandatoryDigits=c.width.min),-1!=="YMD".indexOf(c.component))if(c.n=-1,c.width&&void 0!==c.width.max)c.n=c.width.max,c.integerFormat.mandatoryDigits=c.n;else{var v=c.integerFormat.mandatoryDigits+c.integerFormat.optionalDigits;v>=2&&(c.n=v)}}"Z"!==c.component&&"z"!==c.component||(c.integerFormat=x(c.presentation1)),e.push(c),i=s+1}s++}return r(i,s),n}var A=["","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],S=["January","February","March","April","May","June","July","August","September","October","November","December"],M=864e5,E=function(t){var e=Date.UTC(t.year,t.month),n=new Date(e).getUTCDay();return 0===n&&(n=7),n>4?e+(8-n)*M:e-(n-1)*M},k=function t(e,n){return{year:e,month:n,nextMonth:function(){return 11===n?t(e+1,0):t(e,n+1)},previousMonth:function(){return 0===n?t(e-1,11):t(e,n-1)},nextYear:function(){return t(e+1,n)},previousYear:function(){return t(e-1,n)}}},C=function(t,e){return(e-t)/(7*M)+1},T=function(t,e){var n;switch(e){case"Y":n=t.getUTCFullYear();break;case"M":n=t.getUTCMonth()+1;break;case"D":n=t.getUTCDate();break;case"d":n=(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate())-Date.UTC(t.getUTCFullYear(),0))/M+1;break;case"F":0===(n=t.getUTCDay())&&(n=7);break;case"W":var r=k(t.getUTCFullYear(),0),i=E(r),s=Date.UTC(r.year,t.getUTCMonth(),t.getUTCDate()),o=C(i,s);if(o>52)s>=E(r.nextYear())&&(o=1);else if(o<1){var a=E(r.previousYear());o=C(a,s)}n=Math.floor(o);break;case"w":var c=k(t.getUTCFullYear(),t.getUTCMonth()),l=E(c),h=Date.UTC(c.year,c.month,t.getUTCDate()),u=C(l,h);if(u>4)h>=E(c.nextMonth())&&(u=1);else if(u<1){var d=E(c.previousMonth());u=C(d,h)}n=Math.floor(u);break;case"X":var p=k(t.getUTCFullYear(),0),f=E(p),g=E(p.nextYear()),m=t.getTime();n=m<f?p.year-1:m>=g?p.year+1:p.year;break;case"x":var y=k(t.getUTCFullYear(),t.getUTCMonth()),b=E(y),v=y.nextMonth(),x=E(v),_=t.getTime();n=_<b?y.previousMonth().month+1:_>=x?v.month+1:y.month+1;break;case"H":n=t.getUTCHours();break;case"h":n=t.getUTCHours(),0==(n%=12)&&(n=12);break;case"P":n=t.getUTCHours()>=12?"pm":"am";break;case"m":n=t.getUTCMinutes();break;case"s":n=t.getUTCSeconds();break;case"f":n=t.getUTCMilliseconds();break;case"Z":case"z":break;case"C":case"E":n="ISO"}return n},P=null;function O(t,e,n){var r=0,i=0;if(void 0!==n){var s=parseInt(n);r=Math.floor(s/100),i=s%100}var o,a=function(t,e){var n=T(t,e.component);if(-1!=="YMDdFWwXxHhms".indexOf(e.component))if("Y"===e.component&&-1!==e.n&&(n%=Math.pow(10,e.n)),e.names){if("M"===e.component||"x"===e.component)n=S[n-1];else{if("F"!==e.component)throw{code:"D3133",value:e.component};n=A[n]}e.names===y.UPPER?n=n.toUpperCase():e.names===y.LOWER&&(n=n.toLowerCase()),e.width&&n.length>e.width.max&&(n=n.substring(0,e.width.max))}else n=b(n,e.integerFormat);else if("f"===e.component)n=b(n,e.integerFormat);else if("Z"===e.component||"z"===e.component){var s=100*r+i;if(e.integerFormat.regular)n=b(s,e.integerFormat);else{var o=e.integerFormat.mandatoryDigits;if(1===o||2===o)n=b(r,e.integerFormat),0!==i&&(n+=":"+g(i,"00"));else{if(3!==o&&4!==o)throw{code:"D3134",value:o};n=b(s,e.integerFormat)}}s>=0&&(n="+"+n),"z"===e.component&&(n="GMT"+n),0===s&&"t"===e.presentation2&&(n="Z")}return n};void 0===e?(null===P&&(P=w("[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01].[f001][Z01:01t]")),o=P):o=w(e);var c=new Date(t+60*(60*r+i)*1e3),l="";return o.parts.forEach(function(t){"literal"===t.type?l+=t.value:l+=a(c,t)}),l}function D(t){var e={};if("datetime"===t.type)e.type="datetime",e.parts=t.parts.map(function(t){var e={};if("literal"===t.type)e.regex=t.value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");else if("Z"===t.component||"z"===t.component){var n;Array.isArray(t.integerFormat.groupingSeparators)||(n=t.integerFormat.groupingSeparators),e.regex="","z"===t.component&&(e.regex="GMT"),e.regex+="[-+][0-9]+",n&&(e.regex+=n.character+"[0-9]+"),e.parse=function(e){"z"===t.component&&(e=e.substring(3));var r=0,i=0;return n?(r=Number.parseInt(e.substring(0,e.indexOf(n.character))),i=Number.parseInt(e.substring(e.indexOf(n.character)+1))):e.length-1<=2?r=Number.parseInt(e):(r=Number.parseInt(e.substring(0,3)),i=Number.parseInt(e.substring(3))),60*r+i}}else if(t.integerFormat)t.integerFormat.n=t.n,e=D(t.integerFormat);else{e.regex="[a-zA-Z]+";var r={};if("M"===t.component||"x"===t.component)S.forEach(function(e,n){t.width&&t.width.max?r[e.substring(0,t.width.max)]=n+1:r[e]=n+1});else if("F"===t.component)A.forEach(function(e,n){n>0&&(t.width&&t.width.max?r[e.substring(0,t.width.max)]=n:r[e]=n)});else{if("P"!==t.component)throw{code:"D3133",value:t.component};r={am:0,AM:0,pm:1,PM:1}}e.parse=function(t){return r[t]}}return e.component=t.component,e});else{e.type="integer";var n,r=t.case===y.UPPER;switch(n=t.n&&t.n>0?0===t.optionalDigits?"{".concat(t.n,"}"):"{".concat(t.n-t.optionalDigits,",").concat(t.n,"}"):"+",t.primary){case m.LETTERS:e.regex=r?"[A-Z]+":"[a-z]+",e.parse=function(t){return f(t,r?"A":"a")};break;case m.ROMAN:e.regex=r?"[MDCLXVI]+":"[mdclxvi]+",e.parse=function(t){return d(r?t:t.toUpperCase())};break;case m.WORDS:e.regex="(?:"+Object.keys(a).concat("and","[\\-, ]").join("|")+")+",e.parse=function(t){return c(t.toLowerCase())};break;case m.DECIMAL:e.regex="[0-9]".concat(n),t.ordinal&&(e.regex+="(?:th|st|nd|rd)"),e.parse=function(e){var n=e;return t.ordinal&&(n=e.substring(0,e.length-2)),t.regular?n=n.split(",").join(""):t.groupingSeparators.forEach(function(t){n=n.split(t.character).join("")}),48!==t.zeroCode&&(n=n.split("").map(function(e){return String.fromCodePoint(e.codePointAt(0)-t.zeroCode+48)}).join("")),parseInt(n)};break;case m.SEQUENCE:throw{code:"D3130",value:t.token}}}return e}function j(t,e){if(void 0!==t)return D(x(e)).parse(t)}function I(t,e){var n=D(w(e)),r="^"+n.parts.map(function(t){return"("+t.regex+")"}).join("")+"$",i=new RegExp(r,"i").exec(t);if(null!==i){for(var s=161,o=130,a=84,c=72,l=23,h=47,u={},d=1;d<i.length;d++){var p=n.parts[d-1];p.parse&&(u[p.component]=p.parse(i[d]))}if(0===Object.getOwnPropertyNames(u).length)return;var f=0,g=function(t){f<<=1,f+=t?1:0},m=function(t){return!(~t&f||!(t&f))};"YXMxWwdD".split("").forEach(function(t){return g(u[t])});var y=!m(s)&&m(o),b=m(a),v=!b&&m(c);f=0,"PHhmsf".split("").forEach(function(t){return g(u[t])});var x=!m(l)&&m(h),_=(y?"YD":b?"XxwF":v?"XWF":"YMD")+(x?"Phmsf":"Hmsf"),A=this.environment.timestamp,S=!1,M=!1;if(_.split("").forEach(function(t){if(void 0===u[t])S?(u[t]=-1!=="MDd".indexOf(t)?1:0,M=!0):u[t]=T(A,t);else if(S=!0,M)throw{code:"D3136"}}),u.M>0?u.M-=1:u.M=0,y){var E=Date.UTC(u.Y,0),k=1e3*(u.d-1)*60*60*24,C=new Date(E+k);u.M=C.getUTCMonth(),u.D=C.getUTCDate()}if(b)throw{code:"D3136"};if(v)throw{code:"D3136"};x&&(u.H=12===u.h?0:u.h,1===u.P&&(u.H+=12));var P=Date.UTC(u.Y,u.M,u.D,u.H,u.m,u.s,u.f);return(u.Z||u.z)&&(P-=60*(u.Z||u.z)*1e3),P}}var z=new RegExp("^\\d{4}(-[01]\\d)*(-[0-3]\\d)*(T[0-2]\\d:[0-5]\\d:[0-5]\\d)*(\\.\\d+)?([+-][0-2]\\d:?[0-5]\\d|Z)?$");function R(t,e){if(void 0!==t){if(void 0===e){if(!z.test(t))throw{stack:(new Error).stack,code:"D3110",value:t};return Date.parse(t)}return I.call(this,t,e)}}function L(t,e,n){if(void 0!==t)return O.call(this,t,e,n)}return{formatInteger:g,parseInteger:j,fromMillis:L,toMillis:R}}();e.exports=i},{"./utils":6}],2:[function(t,e,n){(function(n){(function(){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},r(t)}function i(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */i=function(){return e};var t,e={},n=Object.prototype,s=n.hasOwnProperty,o=Object.defineProperty||function(t,e,n){t[e]=n.value},a="function"==typeof Symbol?Symbol:{},c=a.iterator||"@@iterator",l=a.asyncIterator||"@@asyncIterator",h=a.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var i=e&&e.prototype instanceof v?e:v,s=Object.create(i.prototype),a=new D(r||[]);return o(s,"_invoke",{value:C(t,n,a)}),s}function p(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=d;var f="suspendedStart",g="suspendedYield",m="executing",y="completed",b={};function v(){}function x(){}function _(){}var w={};u(w,c,function(){return this});var A=Object.getPrototypeOf,S=A&&A(A(j([])));S&&S!==n&&s.call(S,c)&&(w=S);var M=_.prototype=v.prototype=Object.create(w);function E(t){["next","throw","return"].forEach(function(e){u(t,e,function(t){return this._invoke(e,t)})})}function k(t,e){function n(i,o,a,c){var l=p(t[i],t,o);if("throw"!==l.type){var h=l.arg,u=h.value;return u&&"object"==r(u)&&s.call(u,"__await")?e.resolve(u.__await).then(function(t){n("next",t,a,c)},function(t){n("throw",t,a,c)}):e.resolve(u).then(function(t){h.value=t,a(h)},function(t){return n("throw",t,a,c)})}c(l.arg)}var i;o(this,"_invoke",{value:function(t,r){function s(){return new e(function(e,i){n(t,r,e,i)})}return i=i?i.then(s,s):s()}})}function C(e,n,r){var i=f;return function(s,o){if(i===m)throw new Error("Generator is already running");if(i===y){if("throw"===s)throw o;return{value:t,done:!0}}for(r.method=s,r.arg=o;;){var a=r.delegate;if(a){var c=T(a,r);if(c){if(c===b)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=y,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=m;var l=p(e,n,r);if("normal"===l.type){if(i=r.done?y:g,l.arg===b)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(i=y,r.method="throw",r.arg=l.arg)}}}function T(e,n){var r=n.method,i=e.iterator[r];if(i===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),b;var s=p(i,e.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,b;var o=s.arg;return o?o.done?(n[e.resultName]=o.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,b):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,b)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function D(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function j(e){if(e||""===e){var n=e[c];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,o=function n(){for(;++i<e.length;)if(s.call(e,i))return n.value=e[i],n.done=!1,n;return n.value=t,n.done=!0,n};return o.next=o}}throw new TypeError(r(e)+" is not iterable")}return x.prototype=_,o(M,"constructor",{value:_,configurable:!0}),o(_,"constructor",{value:x,configurable:!0}),x.displayName=u(_,h,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,_):(t.__proto__=_,u(t,h,"GeneratorFunction")),t.prototype=Object.create(M),t},e.awrap=function(t){return{__await:t}},E(k.prototype),u(k.prototype,l,function(){return this}),e.AsyncIterator=k,e.async=function(t,n,r,i,s){void 0===s&&(s=Promise);var o=new k(d(t,n,r,i),s);return e.isGeneratorFunction(n)?o:o.next().then(function(t){return t.done?t.value:o.next()})},E(M),u(M,h,"Generator"),u(M,c,function(){return this}),u(M,"toString",function(){return"[object Generator]"}),e.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},e.values=j,D.prototype={constructor:D,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(O),!e)for(var n in this)"t"===n.charAt(0)&&s.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function r(r,i){return a.type="throw",a.arg=e,n.next=r,i&&(n.method="next",n.arg=t),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=s.call(o,"catchLoc"),l=s.call(o,"finallyLoc");if(c&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&s.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=t,o.arg=e,i?(this.method="next",this.next=i.finallyLoc,b):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),b},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),O(n),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:j(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),b}},e}var s=t("./utils"),o=function(){var t=i().mark(G),e=i().mark(Y),o=i().mark(U),a=i().mark(H),c=i().mark(Z),l=i().mark(dt),h=i().mark(pt),u=i().mark(ft),d=i().mark(mt),p=i().mark(St),f=i().mark(Ct),g=i().mark(Ot),m=s.isNumeric,y=s.isArrayOfStrings,b=s.isArrayOfNumbers,v=s.createSequence,x=s.isSequence,_=s.isFunction,w=s.isLambda,A=s.isIterable,S=s.getFunctionArity,M=s.isDeepEqual,E=s.stringToArray;function k(t){if(void 0!==t){var e=0;return t.forEach(function(t){e+=t}),e}}function C(t){return void 0===t?0:t.length}function T(t){if(void 0!==t&&0!==t.length)return Math.max.apply(Math,t)}function P(t){if(void 0!==t&&0!==t.length)return Math.min.apply(Math,t)}function O(t){if(void 0!==t&&0!==t.length){var e=0;return t.forEach(function(t){e+=t}),e/t.length}}function D(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(void 0!==t){var n;if("string"==typeof t)n=t;else if(_(t))n="";else{if("number"==typeof t&&!isFinite(t))throw{code:"D3001",value:t,stack:(new Error).stack};var r=e?2:0;Array.isArray(t)&&t.outerWrapper&&(t=t[0]),n=JSON.stringify(t,function(t,e){return null!=e&&e.toPrecision&&m(e)?Number(e.toPrecision(15)):e&&_(e)?"":e},r)}return n}}function j(t,e,n){if(void 0!==t){var r=E(t),i=r.length;if(i+e<0&&(e=0),void 0!==n){if(n<=0)return"";var s=e>=0?e+n:i+e+n;return r.slice(e,s).join("")}return r.slice(e).join("")}}function I(t,e){if(void 0!==t){var n=t.indexOf(e);return n>-1?t.substr(0,n):t}}function z(t,e){if(void 0!==t){var n=t.indexOf(e);return n>-1?t.substr(n+e.length):t}}function R(t){if(void 0!==t)return t.toLowerCase()}function L(t){if(void 0!==t)return t.toUpperCase()}function F(t){if(void 0!==t)return E(t).length}function N(t){if(void 0!==t){var e=t.replace(/[ \t\n\r]+/gm," ");return" "===e.charAt(0)&&(e=e.substring(1))," "===e.charAt(e.length-1)&&(e=e.substring(0,e.length-1)),e}}function B(t,e,n){if(void 0!==t){var r;void 0!==n&&0!==n.length||(n=" ");var i=Math.abs(e)-F(t);if(i>0){var s=new Array(i+1).join(n);n.length>1&&(s=j(s,0,i)),r=e>0?t+s:s+t}else r=t;return r}}function G(e,n){var r;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.apply(this,[n]),!A(r)){t.next=4;break}return t.delegateYield(r,"t0",3);case 3:r=t.t0;case 4:if(!r||"number"==typeof r.start||"number"===r.end||Array.isArray(r.groups)||_(r.next)){t.next=6;break}throw{code:"T1010",stack:(new Error).stack};case 6:return t.abrupt("return",r);case 7:case"end":return t.stop()}},t,this)}function Y(t,n){var r,s;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==t){e.next=2;break}return e.abrupt("return",void 0);case 2:if("string"!=typeof n){e.next=6;break}r=-1!==t.indexOf(n),e.next=9;break;case 6:return e.delegateYield(G(n,t),"t0",7);case 7:s=e.t0,r=void 0!==s;case 9:return e.abrupt("return",r);case 10:case"end":return e.stop()}},e)}function U(t,e,n){var r,s,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!(n<0)){i.next=4;break}throw{stack:(new Error).stack,value:n,code:"D3040",index:3};case 4:if(r=v(),!(void 0===n||n>0)){i.next=17;break}return s=0,i.delegateYield(G(e,t),"t0",8);case 8:if(void 0===(a=i.t0)){i.next=17;break}case 10:if(void 0===a||!(void 0===n||s<n)){i.next=17;break}return r.push({match:a.match,index:a.start,groups:a.groups}),i.delegateYield(G(a.next),"t1",13);case 13:a=i.t1,s++,i.next=10;break;case 17:return i.abrupt("return",r);case 18:case"end":return i.stop()}},o)}function H(t,e,n,r){var s,o,c,l,h,u,d,p;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(s=this,""!==e){i.next=5;break}throw{code:"D3010",stack:(new Error).stack,value:e,index:2};case 5:if(!(r<0)){i.next=7;break}throw{code:"D3011",stack:(new Error).stack,value:r,index:4};case 7:if(o="string"==typeof n?function(t){for(var e="",r=0,i=n.indexOf("$",r);-1!==i&&r<n.length;){e+=n.substring(r,i),r=i+1;var s=n.charAt(r);if("$"===s)e+="$",r++;else if("0"===s)e+=t.match,r++;else{var o;if(o=0===t.groups.length?1:Math.floor(Math.log(t.groups.length)*Math.LOG10E)+1,i=parseInt(n.substring(r,r+o),10),o>1&&i>t.groups.length&&(i=parseInt(n.substring(r,r+o-1),10)),isNaN(i))e+="$";else{if(t.groups.length>0){var a=t.groups[i-1];void 0!==a&&(e+=a)}r+=i.toString().length}}i=n.indexOf("$",r)}return e+=n.substring(r)}:n,c="",l=0,!(void 0===r||r>0)){i.next=44;break}if(h=0,"string"!=typeof e){i.next=18;break}for(u=t.indexOf(e,l);-1!==u&&(void 0===r||h<r);)c+=t.substring(l,u),c+=n,l=u+e.length,h++,u=t.indexOf(e,l);c+=t.substring(l),i.next=42;break;case 18:return i.delegateYield(G(e,t),"t0",19);case 19:if(void 0===(d=i.t0)){i.next=41;break}case 21:if(void 0===d||!(void 0===r||h<r)){i.next=38;break}if(c+=t.substring(l,d.start),p=o.apply(s,[d]),!A(p)){i.next=27;break}return i.delegateYield(p,"t1",26);case 26:p=i.t1;case 27:if("string"!=typeof p){i.next=31;break}c+=p,i.next=32;break;case 31:throw{code:"D3012",stack:(new Error).stack,value:p};case 32:return l=d.start+d.match.length,h++,i.delegateYield(G(d.next),"t2",35);case 35:d=i.t2,i.next=21;break;case 38:c+=t.substring(l),i.next=42;break;case 41:c=t;case 42:i.next=45;break;case 44:c=t;case 45:return i.abrupt("return",c);case 46:case"end":return i.stop()}},a,this)}function W(t){if(void 0!==t){var e="undefined"!=typeof window?window.btoa:function(t){return new n.Buffer.from(t,"binary").toString("base64")};return e(t)}}function V(t){if(void 0!==t){var e="undefined"!=typeof window?window.atob:function(t){return new n.Buffer.from(t,"base64").toString("binary")};return e(t)}}function $(t){if(void 0!==t){var e;try{e=encodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrlComponent"}}return e}}function X(t){if(void 0!==t){var e;try{e=encodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"encodeUrl"}}return e}}function q(t){if(void 0!==t){var e;try{e=decodeURIComponent(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrlComponent"}}return e}}function K(t){if(void 0!==t){var e;try{e=decodeURI(t)}catch(e){throw{code:"D3140",stack:(new Error).stack,value:t,functionName:"decodeUrl"}}return e}}function Z(t,e,n){var r,s,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!(n<0)){i.next=4;break}throw{code:"D3020",stack:(new Error).stack,value:n,index:3};case 4:if(r=[],!(void 0===n||n>0)){i.next=27;break}if("string"!=typeof e){i.next=10;break}r=t.split(e,n),i.next=27;break;case 10:return s=0,i.delegateYield(G(e,t),"t0",12);case 12:if(void 0===(o=i.t0)){i.next=26;break}a=0;case 15:if(void 0===o||!(void 0===n||s<n)){i.next=23;break}return r.push(t.substring(a,o.start)),a=o.end,i.delegateYield(G(o.next),"t1",19);case 19:o=i.t1,s++,i.next=15;break;case 23:(void 0===n||s<n)&&r.push(t.substring(a)),i.next=27;break;case 26:r.push(t);case 27:return i.abrupt("return",r);case 28:case"end":return i.stop()}},c)}function Q(t,e){if(void 0!==t)return void 0===e&&(e=""),t.join(e)}function J(t,e,n){if(void 0!==t){var r={"decimal-separator":".","grouping-separator":",","exponent-separator":"e",infinity:"Infinity","minus-sign":"-",NaN:"NaN",percent:"%","per-mille":"‰","zero-digit":"0",digit:"#","pattern-separator":";"};void 0!==n&&Object.keys(n).forEach(function(t){r[t]=n[t]});for(var i=[],s=r["zero-digit"].charCodeAt(0),o=s;o<s+10;o++)i.push(String.fromCharCode(o));var a=i.concat([r["decimal-separator"],r["exponent-separator"],r["grouping-separator"],r.digit,r["pattern-separator"]]),c=e.split(r["pattern-separator"]);if(c.length>2)throw{code:"D3080",stack:(new Error).stack};var l=function(t){var e,n,i,s,o=function(){for(var e,n=0;n<t.length;n++)if(e=t.charAt(n),-1!==a.indexOf(e)&&e!==r["exponent-separator"])return t.substring(0,n)}(),c=function(){for(var e,n=t.length-1;n>=0;n--)if(e=t.charAt(n),-1!==a.indexOf(e)&&e!==r["exponent-separator"])return t.substring(n+1)}(),l=t.substring(o.length,t.length-c.length),h=t.indexOf(r["exponent-separator"],o.length);-1===h||h>t.length-c.length?(e=l,n=void 0):(e=l.substring(0,h),n=l.substring(h+1));var u=e.indexOf(r["decimal-separator"]);return-1===u?(i=e,s=c):(i=e.substring(0,u),s=e.substring(u+1)),{prefix:o,suffix:c,activePart:l,mantissaPart:e,exponentPart:n,integerPart:i,fractionalPart:s,subpicture:t}},h=function(t){var e,n,s=t.subpicture,o=s.indexOf(r["decimal-separator"]);o!==s.lastIndexOf(r["decimal-separator"])&&(e="D3081"),s.indexOf(r.percent)!==s.lastIndexOf(r.percent)&&(e="D3082"),s.indexOf(r["per-mille"])!==s.lastIndexOf(r["per-mille"])&&(e="D3083"),-1!==s.indexOf(r.percent)&&-1!==s.indexOf(r["per-mille"])&&(e="D3084");var c=!1;for(n=0;n<t.mantissaPart.length;n++){var l=t.mantissaPart.charAt(n);if(-1!==i.indexOf(l)||l===r.digit){c=!0;break}}c||(e="D3085"),-1!==t.activePart.split("").map(function(t){return-1===a.indexOf(t)?"p":"a"}).join("").indexOf("p")&&(e="D3086"),-1!==o?s.charAt(o-1)!==r["grouping-separator"]&&s.charAt(o+1)!==r["grouping-separator"]||(e="D3087"):t.integerPart.charAt(t.integerPart.length-1)===r["grouping-separator"]&&(e="D3088"),-1!==s.indexOf(r["grouping-separator"]+r["grouping-separator"])&&(e="D3089");var h=t.integerPart.indexOf(r.digit);-1!==h&&t.integerPart.substring(0,h).split("").filter(function(t){return i.indexOf(t)>-1}).length>0&&(e="D3090"),-1!==(h=t.fractionalPart.lastIndexOf(r.digit))&&t.fractionalPart.substring(h).split("").filter(function(t){return i.indexOf(t)>-1}).length>0&&(e="D3091");var u="string"==typeof t.exponentPart;if(u&&t.exponentPart.length>0&&(-1!==s.indexOf(r.percent)||-1!==s.indexOf(r["per-mille"]))&&(e="D3092"),u&&(0===t.exponentPart.length||t.exponentPart.split("").filter(function(t){return-1===i.indexOf(t)}).length>0)&&(e="D3093"),e)throw{code:e,stack:(new Error).stack}},u=function(t){var e=function(e,n){for(var s=[],o=e.indexOf(r["grouping-separator"]);-1!==o;){var a=(n?e.substring(0,o):e.substring(o)).split("").filter(function(t){return-1!==i.indexOf(t)||t===r.digit}).length;s.push(a),o=t.integerPart.indexOf(r["grouping-separator"],o+1)}return s},n=e(t.integerPart),s=function(t){if(0===t.length)return 0;for(var e=function t(e,n){return 0===n?e:t(n,e%n)},n=t.reduce(e),r=1;r<=t.length;r++)if(-1===t.indexOf(r*n))return 0;return n},o=s(n),a=e(t.fractionalPart,!0),c=t.integerPart.split("").filter(function(t){return-1!==i.indexOf(t)}).length,l=c,h=t.fractionalPart.split(""),u=h.filter(function(t){return-1!==i.indexOf(t)}).length,d=h.filter(function(t){return-1!==i.indexOf(t)||t===r.digit}).length,p="string"==typeof t.exponentPart;0===c&&0===d&&(p?(u=1,d=1):c=1),p&&0===c&&-1!==t.integerPart.indexOf(r.digit)&&(c=1),0===c&&0===u&&(u=1);var f=0;return p&&(f=t.exponentPart.split("").filter(function(t){return-1!==i.indexOf(t)}).length),{integerPartGroupingPositions:n,regularGrouping:o,minimumIntegerPartSize:c,scalingFactor:l,prefix:t.prefix,fractionalPartGroupingPositions:a,minimumFactionalPartSize:u,maximumFactionalPartSize:d,minimumExponentSize:f,suffix:t.suffix,picture:t.subpicture}},d=c.map(l);d.forEach(h);var p,f,g,m,y=d.map(u),b=r["minus-sign"],v=r["zero-digit"],x=r["decimal-separator"],_=r["grouping-separator"];if(1===y.length&&(y.push(JSON.parse(JSON.stringify(y[0]))),y[1].prefix=b+y[1].prefix),f=-1!==(p=t>=0?y[0]:y[1]).picture.indexOf(r.percent)?100*t:-1!==p.picture.indexOf(r["per-mille"])?1e3*t:t,0===p.minimumExponentSize)g=f;else{var w=Math.pow(10,p.scalingFactor),A=Math.pow(10,p.scalingFactor-1);for(g=f,m=0;g<A;)g*=10,m-=1;for(;g>w;)g/=10,m+=1}var S=function(t,e){var n=Math.abs(t).toFixed(e);return"0"!==v&&(n=n.split("").map(function(t){return t>="0"&&t<="9"?i[t.charCodeAt(0)-48]:t}).join("")),n},M=S(st(g,p.maximumFactionalPartSize),p.maximumFactionalPartSize),E=M.indexOf(".");for(-1===E?M+=x:M=M.replace(".",x);M.charAt(0)===v;)M=M.substring(1);for(;M.charAt(M.length-1)===v;)M=M.substring(0,M.length-1);E=M.indexOf(x);var k=p.minimumIntegerPartSize-E,C=p.minimumFactionalPartSize-(M.length-E-1);if(M=(k>0?new Array(k+1).join(v):"")+M,M+=C>0?new Array(C+1).join(v):"",E=M.indexOf(x),p.regularGrouping>0)for(var T=Math.floor((E-1)/p.regularGrouping),P=1;P<=T;P++)M=[M.slice(0,E-P*p.regularGrouping),_,M.slice(E-P*p.regularGrouping)].join("");else p.integerPartGroupingPositions.forEach(function(t){M=[M.slice(0,E-t),_,M.slice(E-t)].join(""),E++});if(E=M.indexOf(x),p.fractionalPartGroupingPositions.forEach(function(t){M=[M.slice(0,t+E+1),_,M.slice(t+E+1)].join("")}),E=M.indexOf(x),-1!==p.picture.indexOf(x)&&E!==M.length-1||(M=M.substring(0,M.length-1)),void 0!==m){var O=S(m,0);(k=p.minimumExponentSize-O.length)>0&&(O=new Array(k+1).join(v)+O),M=M+r["exponent-separator"]+(m<0?b:"")+O}return M=p.prefix+M+p.suffix}}function tt(t,e){if(void 0!==t){if(t=st(t),(e=void 0===e?10:st(e))<2||e>36)throw{code:"D3100",stack:(new Error).stack,value:e};return t.toString(e)}}function et(t){var e;if(void 0!==t){if("number"==typeof t)e=t;else if("string"==typeof t&&/^-?[0-9]+(\.[0-9]+)?([Ee][-+]?[0-9]+)?$/.test(t)&&!isNaN(parseFloat(t))&&isFinite(t))e=parseFloat(t);else if(!0===t)e=1;else{if(!1!==t)throw{code:"D3030",value:t,stack:(new Error).stack,index:1};e=0}return e}}function nt(t){if(void 0!==t)return Math.abs(t)}function rt(t){if(void 0!==t)return Math.floor(t)}function it(t){if(void 0!==t)return Math.ceil(t)}function st(t,e){var n;if(void 0!==t){if(e){var r=t.toString().split("e");t=+(r[0]+"e"+(r[1]?+r[1]+e:e))}var i=(n=Math.round(t))-t;return.5===Math.abs(i)&&1===Math.abs(n%2)&&(n-=1),e&&(r=n.toString().split("e"),n=+(r[0]+"e"+(r[1]?+r[1]-e:-e))),Object.is(n,-0)&&(n=0),n}}function ot(t){if(void 0!==t){if(t<0)throw{stack:(new Error).stack,code:"D3060",index:1,value:t};return Math.sqrt(t)}}function at(t,e){var n;if(void 0!==t){if(n=Math.pow(t,e),!isFinite(n))throw{stack:(new Error).stack,code:"D3061",index:1,value:t,exp:e};return n}}function ct(){return Math.random()}function lt(t){if(void 0!==t){var e=!1;return Array.isArray(t)?1===t.length?e=lt(t[0]):t.length>1&&(e=t.filter(function(t){return lt(t)}).length>0):"string"==typeof t?t.length>0&&(e=!0):m(t)?0!==t&&(e=!0):null!==t&&"object"===r(t)?Object.keys(t).length>0&&(e=!0):"boolean"==typeof t&&!0===t&&(e=!0),e}}function ht(t){if(void 0!==t)return!lt(t)}function ut(t,e,n,r){var i=[e],s=S(t);return s>=2&&i.push(n),s>=3&&i.push(r),i}function dt(t,e){var n,r,s,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:n=v(),r=0;case 4:if(!(r<t.length)){i.next=12;break}return s=ut(e,t[r],r,t),i.delegateYield(e.apply(this,s),"t0",7);case 7:void 0!==(o=i.t0)&&n.push(o);case 9:r++,i.next=4;break;case 12:return i.abrupt("return",n);case 13:case"end":return i.stop()}},l,this)}function pt(t,e){var n,r,s,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:n=v(),r=0;case 4:if(!(r<t.length)){i.next=13;break}return s=t[r],o=ut(e,s,r,t),i.delegateYield(e.apply(this,o),"t0",8);case 8:lt(i.t0)&&n.push(s);case 10:r++,i.next=4;break;case 13:return i.abrupt("return",n);case 14:case"end":return i.stop()}},h,this)}function ft(t,e){var n,r,s,o,a,c,l;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:n=!1,s=0;case 4:if(!(s<t.length)){i.next=22;break}if(o=t[s],a=!0,void 0===e){i.next=12;break}return c=ut(e,o,s,t),i.delegateYield(e.apply(this,c),"t0",10);case 10:l=i.t0,a=lt(l);case 12:if(!a){i.next=19;break}if(n){i.next=18;break}r=o,n=!0,i.next=19;break;case 18:throw{stack:(new Error).stack,code:"D3138",index:s};case 19:s++,i.next=4;break;case 22:if(n){i.next=24;break}throw{stack:(new Error).stack,code:"D3139"};case 24:return i.abrupt("return",r);case 25:case"end":return i.stop()}},u,this)}function gt(){for(var t=[],e=Array.prototype.slice.call(arguments),n=Math.min.apply(Math,e.map(function(t){return Array.isArray(t)?t.length:0})),r=0;r<n;r++){var i=e.map(function(t){return t[r]});t.push(i)}return t}function mt(t,e,n){var r,s,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:if(!((s=S(e))<2)){i.next=5;break}throw{stack:(new Error).stack,code:"D3050",index:1};case 5:void 0===n&&t.length>0?(r=t[0],o=1):(r=n,o=0);case 6:if(!(o<t.length)){i.next=15;break}return a=[r,t[o]],s>=3&&a.push(o),s>=4&&a.push(t),i.delegateYield(e.apply(this,a),"t0",11);case 11:r=i.t0,o++,i.next=6;break;case 15:return i.abrupt("return",r);case 16:case"end":return i.stop()}},d,this)}function yt(t){var e=v();if(Array.isArray(t)){var n={};t.forEach(function(t){yt(t).forEach(function(t){n[t]=!0})}),e=yt(n)}else null===t||"object"!==r(t)||w(t)||Object.keys(t).forEach(function(t){return e.push(t)});return e}function bt(t,e){var n;if(Array.isArray(t)){n=v();for(var i=0;i<t.length;i++){var s=bt(t[i],e);void 0!==s&&(Array.isArray(s)?s.forEach(function(t){return n.push(t)}):n.push(s))}}else null!==t&&"object"===r(t)&&(n=t[e]);return n}function vt(t,e){return void 0===t?e:void 0===e?t:(Array.isArray(t)||(t=v(t)),Array.isArray(e)||(e=[e]),t.concat(e))}function xt(t){return void 0!==t}function _t(t){var e=v();if(Array.isArray(t))t.forEach(function(t){e=vt(e,_t(t))});else if(null===t||"object"!==r(t)||w(t))e=t;else for(var n in t){var i={};i[n]=t[n],e.push(i)}return e}function wt(t){if(void 0!==t){var e={};return t.forEach(function(t){for(var n in t)e[n]=t[n]}),e}}function At(t){if(void 0!==t){if(t.length<=1)return t;for(var e=t.length,n=new Array(e),r=0;r<e;r++)n[e-r-1]=t[r];return n}}function St(t,e){var n,r,s,o;return i().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:n=v(),a.t0=i().keys(t);case 2:if((a.t1=a.t0()).done){a.next=10;break}return r=a.t1.value,s=ut(e,t[r],r,t),a.delegateYield(e.apply(this,s),"t2",6);case 6:void 0!==(o=a.t2)&&n.push(o),a.next=2;break;case 10:return a.abrupt("return",n);case 11:case"end":return a.stop()}},p,this)}function Mt(t){throw{code:"D3137",stack:(new Error).stack,message:t||"$error() function evaluated"}}function Et(t,e){if(!t)throw{code:"D3141",stack:(new Error).stack,message:e||"$assert() statement failed"}}function kt(t){if(void 0!==t)return null===t?"null":m(t)?"number":"string"==typeof t?"string":"boolean"==typeof t?"boolean":Array.isArray(t)?"array":_(t)?"function":"object"}function Ct(t,e){var n,r,s,o;return i().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(void 0!==t){a.next=2;break}return a.abrupt("return",void 0);case 2:if(!(t.length<=1)){a.next=4;break}return a.abrupt("return",t);case 4:if(void 0!==e){a.next=10;break}if(b(t)||y(t)){a.next=7;break}throw{stack:(new Error).stack,code:"D3070",index:1};case 7:n=i().mark(function t(e,n){return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e>n);case 1:case"end":return t.stop()}},t)}),a.next=11;break;case 10:n=e;case 11:return r=i().mark(function t(e,r){var s,o;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return s=i().mark(function t(e,r,s){return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(0!==r.length){i.next=4;break}Array.prototype.push.apply(e,s),i.next=16;break;case 4:if(0!==s.length){i.next=8;break}Array.prototype.push.apply(e,r),i.next=16;break;case 8:return i.delegateYield(n(r[0],s[0]),"t0",9);case 9:if(!i.t0){i.next=14;break}return e.push(s[0]),i.delegateYield(t(e,r,s.slice(1)),"t1",12);case 12:i.next=16;break;case 14:return e.push(r[0]),i.delegateYield(t(e,r.slice(1),s),"t2",16);case 16:case"end":return i.stop()}},t)}),o=[],t.delegateYield(s(o,e,r),"t0",3);case 3:return t.abrupt("return",o);case 4:case"end":return t.stop()}},t)}),s=i().mark(function t(e){var n,s,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(Array.isArray(e)&&!(e.length<=1)){i.next=4;break}return i.abrupt("return",e);case 4:return n=Math.floor(e.length/2),s=e.slice(0,n),o=e.slice(n),i.delegateYield(t(s),"t0",8);case 8:return s=i.t0,i.delegateYield(t(o),"t1",10);case 10:return o=i.t1,i.delegateYield(r(s,o),"t2",12);case 12:return i.abrupt("return",i.t2);case 13:case"end":return i.stop()}},t)}),a.delegateYield(s(t),"t0",14);case 14:return o=a.t0,a.abrupt("return",o);case 16:case"end":return a.stop()}},f)}function Tt(t){if(void 0!==t){if(t.length<=1)return t;for(var e=new Array(t.length),n=0;n<t.length;n++){var r=Math.floor(Math.random()*(n+1));n!==r&&(e[n]=e[r]),e[r]=t[n]}return e}}function Pt(t){if(void 0!==t){if(!Array.isArray(t)||t.length<=1)return t;for(var e=x(t)?v():[],n=0;n<t.length;n++){for(var r=t[n],i=!1,s=0;s<e.length;s++)if(M(r,e[s])){i=!0;break}i||e.push(r)}return e}}function Ot(t,e){var n,r,s,o;return i().wrap(function(a){for(;;)switch(a.prev=a.next){case 0:n={},a.t0=i().keys(t);case 2:if((a.t1=a.t0()).done){a.next=11;break}return r=a.t1.value,s=t[r],o=ut(e,s,r,t),a.delegateYield(e.apply(this,o),"t2",7);case 7:lt(a.t2)&&(n[r]=s),a.next=2;break;case 11:return 0===Object.keys(n).length&&(n=void 0),a.abrupt("return",n);case 13:case"end":return a.stop()}},g,this)}return{sum:k,count:C,max:T,min:P,average:O,string:D,substring:j,substringBefore:I,substringAfter:z,lowercase:R,uppercase:L,length:F,trim:N,pad:B,match:U,contains:Y,replace:H,split:Z,join:Q,formatNumber:J,formatBase:tt,number:et,floor:rt,ceil:it,round:st,abs:nt,sqrt:ot,power:at,random:ct,boolean:lt,not:ht,map:dt,zip:gt,filter:pt,single:ft,foldLeft:mt,sift:Ot,keys:yt,lookup:bt,append:vt,exists:xt,spread:_t,merge:wt,reverse:At,each:St,error:Mt,assert:Et,type:kt,sort:Ct,shuffle:Tt,distinct:Pt,base64encode:W,base64decode:V,encodeUrlComponent:$,encodeUrl:X,decodeUrlComponent:q,decodeUrl:K}}();e.exports=o}).call(this)}).call(this,void 0!==Br?Br:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils":6}],3:[function(t,e,n){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},r(t)}function i(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */i=function(){return e};var t,e={},n=Object.prototype,s=n.hasOwnProperty,o=Object.defineProperty||function(t,e,n){t[e]=n.value},a="function"==typeof Symbol?Symbol:{},c=a.iterator||"@@iterator",l=a.asyncIterator||"@@asyncIterator",h=a.toStringTag||"@@toStringTag";function u(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,n){return t[e]=n}}function d(t,e,n,r){var i=e&&e.prototype instanceof v?e:v,s=Object.create(i.prototype),a=new D(r||[]);return o(s,"_invoke",{value:C(t,n,a)}),s}function p(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}e.wrap=d;var f="suspendedStart",g="suspendedYield",m="executing",y="completed",b={};function v(){}function x(){}function _(){}var w={};u(w,c,function(){return this});var A=Object.getPrototypeOf,S=A&&A(A(j([])));S&&S!==n&&s.call(S,c)&&(w=S);var M=_.prototype=v.prototype=Object.create(w);function E(t){["next","throw","return"].forEach(function(e){u(t,e,function(t){return this._invoke(e,t)})})}function k(t,e){function n(i,o,a,c){var l=p(t[i],t,o);if("throw"!==l.type){var h=l.arg,u=h.value;return u&&"object"==r(u)&&s.call(u,"__await")?e.resolve(u.__await).then(function(t){n("next",t,a,c)},function(t){n("throw",t,a,c)}):e.resolve(u).then(function(t){h.value=t,a(h)},function(t){return n("throw",t,a,c)})}c(l.arg)}var i;o(this,"_invoke",{value:function(t,r){function s(){return new e(function(e,i){n(t,r,e,i)})}return i=i?i.then(s,s):s()}})}function C(e,n,r){var i=f;return function(s,o){if(i===m)throw new Error("Generator is already running");if(i===y){if("throw"===s)throw o;return{value:t,done:!0}}for(r.method=s,r.arg=o;;){var a=r.delegate;if(a){var c=T(a,r);if(c){if(c===b)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(i===f)throw i=y,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);i=m;var l=p(e,n,r);if("normal"===l.type){if(i=r.done?y:g,l.arg===b)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(i=y,r.method="throw",r.arg=l.arg)}}}function T(e,n){var r=n.method,i=e.iterator[r];if(i===t)return n.delegate=null,"throw"===r&&e.iterator.return&&(n.method="return",n.arg=t,T(e,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),b;var s=p(i,e.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,b;var o=s.arg;return o?o.done?(n[e.resultName]=o.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,b):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,b)}function P(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function D(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(P,this),this.reset(!0)}function j(e){if(e||""===e){var n=e[c];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var i=-1,o=function n(){for(;++i<e.length;)if(s.call(e,i))return n.value=e[i],n.done=!1,n;return n.value=t,n.done=!0,n};return o.next=o}}throw new TypeError(r(e)+" is not iterable")}return x.prototype=_,o(M,"constructor",{value:_,configurable:!0}),o(_,"constructor",{value:x,configurable:!0}),x.displayName=u(_,h,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===x||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,_):(t.__proto__=_,u(t,h,"GeneratorFunction")),t.prototype=Object.create(M),t},e.awrap=function(t){return{__await:t}},E(k.prototype),u(k.prototype,l,function(){return this}),e.AsyncIterator=k,e.async=function(t,n,r,i,s){void 0===s&&(s=Promise);var o=new k(d(t,n,r,i),s);return e.isGeneratorFunction(n)?o:o.next().then(function(t){return t.done?t.value:o.next()})},E(M),u(M,h,"Generator"),u(M,c,function(){return this}),u(M,"toString",function(){return"[object Generator]"}),e.keys=function(t){var e=Object(t),n=[];for(var r in e)n.push(r);return n.reverse(),function t(){for(;n.length;){var r=n.pop();if(r in e)return t.value=r,t.done=!1,t}return t.done=!0,t}},e.values=j,D.prototype={constructor:D,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(O),!e)for(var n in this)"t"===n.charAt(0)&&s.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var n=this;function r(r,i){return a.type="throw",a.arg=e,n.next=r,i&&(n.method="next",n.arg=t),!!i}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var c=s.call(o,"catchLoc"),l=s.call(o,"finallyLoc");if(c&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&s.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=t,o.arg=e,i?(this.method="next",this.next=i.finallyLoc,b):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),b},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),O(n),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:j(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),b}},e}var s=t("./datetime"),o=t("./functions"),a=t("./utils"),c=t("./parser"),l=t("./signature"),h=function(){var t=i().mark(B),e=i().mark(G),n=i().mark(U),h=i().mark(H),u=i().mark(W),d=i().mark(V),p=i().mark($),f=i().mark(X),g=i().mark(st),m=i().mark(ct),y=i().mark(ut),b=i().mark(dt),v=i().mark(pt),x=i().mark(mt),_=i().mark(vt),w=i().mark(xt),A=i().mark(_t),S=i().mark(wt),M=i().mark(St),E=i().mark(Et),k=i().mark(Tt),C=i().mark(Dt),T=a.isNumeric,P=a.isArrayOfStrings,O=a.isArrayOfNumbers,D=a.createSequence,j=a.isSequence,I=a.isFunction,z=a.isLambda,R=a.isIterable,L=a.getFunctionArity,F=a.isDeepEqual,N=It(null);function B(e,n,r){var s,o,a,c;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:(o=r.lookup("__evaluate_entry"))&&o(e,n,r),t.t0=e.type,t.next="path"===t.t0?5:"binary"===t.t0?8:"unary"===t.t0?11:"name"===t.t0?14:"string"===t.t0||"number"===t.t0||"value"===t.t0?16:"wildcard"===t.t0?18:"descendant"===t.t0?20:"parent"===t.t0?22:"condition"===t.t0?24:"block"===t.t0?27:"bind"===t.t0?30:"regex"===t.t0?33:"function"===t.t0?35:"variable"===t.t0?38:"lambda"===t.t0?40:"partial"===t.t0?42:"apply"===t.t0?45:"transform"===t.t0?48:50;break;case 5:return t.delegateYield(G(e,n,r),"t1",6);case 6:return s=t.t1,t.abrupt("break",50);case 8:return t.delegateYield($(e,n,r),"t2",9);case 9:return s=t.t2,t.abrupt("break",50);case 11:return t.delegateYield(X(e,n,r),"t3",12);case 12:return s=t.t3,t.abrupt("break",50);case 14:return s=q(e,n),t.abrupt("break",50);case 16:return s=K(e),t.abrupt("break",50);case 18:return s=Z(e,n),t.abrupt("break",50);case 20:return s=J(e,n),t.abrupt("break",50);case 22:return s=r.lookup(e.slot.label),t.abrupt("break",50);case 24:return t.delegateYield(dt(e,n,r),"t4",25);case 25:return s=t.t4,t.abrupt("break",50);case 27:return t.delegateYield(pt(e,n,r),"t5",28);case 28:return s=t.t5,t.abrupt("break",50);case 30:return t.delegateYield(ut(e,n,r),"t6",31);case 31:return s=t.t6,t.abrupt("break",50);case 33:return s=ft(e),t.abrupt("break",50);case 35:return t.delegateYield(xt(e,n,r),"t7",36);case 36:return s=t.t7,t.abrupt("break",50);case 38:return s=gt(e,n,r),t.abrupt("break",50);case 40:return s=At(e,n,r),t.abrupt("break",50);case 42:return t.delegateYield(St(e,n,r),"t8",43);case 43:return s=t.t8,t.abrupt("break",50);case 45:return t.delegateYield(vt(e,n,r),"t9",46);case 46:return s=t.t9,t.abrupt("break",50);case 48:return s=yt(e,n,r),t.abrupt("break",50);case 50:if(!r.async||null!=s&&"function"==typeof s.then||(s=Promise.resolve(s)),!r.async||"function"!=typeof s.then||!e.nextFunction||"function"!=typeof s[e.nextFunction]){t.next=54;break}t.next=57;break;case 54:return t.next=56,s;case 56:s=t.sent;case 57:if(!Object.prototype.hasOwnProperty.call(e,"predicate")){t.next=65;break}a=0;case 59:if(!(a<e.predicate.length)){t.next=65;break}return t.delegateYield(V(e.predicate[a].expr,s,r),"t10",61);case 61:s=t.t10;case 62:a++,t.next=59;break;case 65:if("path"===e.type||!Object.prototype.hasOwnProperty.call(e,"group")){t.next=68;break}return t.delegateYield(ct(e.group,s,r),"t11",67);case 67:s=t.t11;case 68:return(c=r.lookup("__evaluate_exit"))&&c(e,n,r,s),s&&j(s)&&!s.tupleStream&&(e.keepArray&&(s.keepSingleton=!0),0===s.length?s=void 0:1===s.length&&(s=s.keepSingleton?s:s[0])),t.abrupt("return",s);case 72:case"end":return t.stop()}},t)}function G(t,n,r){var s,o,a,c,l,h;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:s=Array.isArray(n)&&"variable"!==t.steps[0].type?n:D(n),a=!1,c=void 0,l=0;case 4:if(!(l<t.steps.length)){e.next=25;break}if((h=t.steps[l]).tuple&&(a=!0),0!==l||!h.consarray){e.next=12;break}return e.delegateYield(B(h,s,r),"t0",9);case 9:o=e.t0,e.next=19;break;case 12:if(!a){e.next=17;break}return e.delegateYield(W(h,s,c,r),"t1",14);case 14:c=e.t1,e.next=19;break;case 17:return e.delegateYield(U(h,s,r,l===t.steps.length-1),"t2",18);case 18:o=e.t2;case 19:if(a||void 0!==o&&0!==o.length){e.next=21;break}return e.abrupt("break",25);case 21:void 0===h.focus&&(s=o);case 22:l++,e.next=4;break;case 25:if(a)if(t.tuple)o=c;else for(o=D(),l=0;l<c.length;l++)o.push(c[l]["@"]);if(t.keepSingletonArray&&(Array.isArray(o)&&o.cons&&!o.sequence&&(o=D(o)),o.keepSingleton=!0),!t.hasOwnProperty("group")){e.next=30;break}return e.delegateYield(ct(t.group,a?c:o,r),"t3",29);case 29:o=e.t3;case 30:return e.abrupt("return",o);case 31:case"end":return e.stop()}},e)}function Y(t,e){var n=It(t);for(var r in e)n.bind(r,e[r]);return n}function U(t,e,r,s){var o,a,c,l,h;return i().wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if("sort"!==t.type){n.next=7;break}return n.delegateYield(mt(t,e,r),"t0",2);case 2:if(o=n.t0,!t.stages){n.next=6;break}return n.delegateYield(H(t.stages,o,r),"t1",5);case 5:o=n.t1;case 6:return n.abrupt("return",o);case 7:o=D(),a=0;case 9:if(!(a<e.length)){n.next=24;break}return n.delegateYield(B(t,e[a],r),"t2",11);case 11:if(c=n.t2,!t.stages){n.next=20;break}l=0;case 14:if(!(l<t.stages.length)){n.next=20;break}return n.delegateYield(V(t.stages[l].expr,c,r),"t3",16);case 16:c=n.t3;case 17:l++,n.next=14;break;case 20:void 0!==c&&o.push(c);case 21:a++,n.next=9;break;case 24:return h=D(),s&&1===o.length&&Array.isArray(o[0])&&!j(o[0])?h=o[0]:o.forEach(function(t){!Array.isArray(t)||t.cons?h.push(t):t.forEach(function(t){return h.push(t)})}),n.abrupt("return",h);case 27:case"end":return n.stop()}},n)}function H(t,e,n){var r,s,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:r=e,s=0;case 2:if(!(s<t.length)){i.next=15;break}o=t[s],i.t0=o.type,i.next="filter"===i.t0?7:"index"===i.t0?10:12;break;case 7:return i.delegateYield(V(o.expr,r,n),"t1",8);case 8:return r=i.t1,i.abrupt("break",12);case 10:for(a=0;a<r.length;a++)r[a][o.value]=a;return i.abrupt("break",12);case 12:s++,i.next=2;break;case 15:return i.abrupt("return",r);case 16:case"end":return i.stop()}},h)}function W(t,e,n,r){var s,o,a,c,l,h,d,p;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if("sort"!==t.type){i.next=15;break}if(!n){i.next=6;break}return i.delegateYield(mt(t,n,r),"t0",3);case 3:s=i.t0,i.next=11;break;case 6:return i.delegateYield(mt(t,e,r),"t1",7);case 7:for(o=i.t1,(s=D()).tupleStream=!0,a=0;a<o.length;a++)(c={"@":o[a]})[t.index]=a,s.push(c);case 11:if(!t.stages){i.next=14;break}return i.delegateYield(H(t.stages,s,r),"t2",13);case 13:s=i.t2;case 14:return i.abrupt("return",s);case 15:(s=D()).tupleStream=!0,l=r,void 0===n&&(n=e.map(function(t){return{"@":t}})),h=0;case 20:if(!(h<n.length)){i.next=28;break}return l=Y(r,n[h]),i.delegateYield(B(t,n[h]["@"],l),"t3",23);case 23:if(void 0!==(d=i.t3))for(Array.isArray(d)||(d=[d]),p=0;p<d.length;p++)c={},Object.assign(c,n[h]),d.tupleStream?Object.assign(c,d[p]):(t.focus?(c[t.focus]=d[p],c["@"]=n[h]["@"]):c["@"]=d[p],t.index&&(c[t.index]=p),t.ancestor&&(c[t.ancestor.label]=n[h]["@"])),s.push(c);case 25:h++,i.next=20;break;case 28:if(!t.stages){i.next=31;break}return i.delegateYield(H(t.stages,s,r),"t4",30);case 30:s=i.t4;case 31:return i.abrupt("return",s);case 32:case"end":return i.stop()}},u)}function V(t,e,n){var r,s,a,c,l,h;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(r=D(),e&&e.tupleStream&&(r.tupleStream=!0),Array.isArray(e)||(e=D(e)),"number"!==t.type){i.next=10;break}(s=Math.floor(t.value))<0&&(s=e.length+s),void 0!==(a=e[s])&&(Array.isArray(a)?r=a:r.push(a)),i.next=23;break;case 10:s=0;case 11:if(!(s<e.length)){i.next=23;break}return a=e[s],c=a,l=n,e.tupleStream&&(c=a["@"],l=Y(n,a)),i.delegateYield(B(t,c,l),"t0",17);case 17:h=i.t0,T(h)&&(h=[h]),O(h)?h.forEach(function(t){var n=Math.floor(t);n<0&&(n=e.length+n),n===s&&r.push(a)}):o.boolean(h)&&r.push(a);case 20:s++,i.next=11;break;case 23:return i.abrupt("return",r);case 24:case"end":return i.stop()}},d)}function $(t,e,n){var r,s,o,a,c;return i().wrap(function(l){for(;;)switch(l.prev=l.next){case 0:return l.delegateYield(B(t.lhs,e,n),"t0",1);case 1:if(s=l.t0,o=t.value,a=i().mark(function r(){return i().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(B(t.rhs,e,n),"t0",1);case 1:return r.abrupt("return",r.t0);case 2:case"end":return r.stop()}},r)}),"and"!==o&&"or"!==o){l.next=15;break}return l.prev=5,l.delegateYield(st(s,a,o),"t1",7);case 7:return l.abrupt("return",l.t1);case 10:throw l.prev=10,l.t2=l.catch(5),l.t2.position=t.position,l.t2.token=o,l.t2;case 15:return l.delegateYield(a(),"t3",16);case 16:c=l.t3,l.prev=17,l.t4=o,l.next="+"===l.t4||"-"===l.t4||"*"===l.t4||"/"===l.t4||"%"===l.t4?21:"="===l.t4||"!="===l.t4?23:"<"===l.t4||"<="===l.t4||">"===l.t4||">="===l.t4?25:"&"===l.t4?27:".."===l.t4?29:"in"===l.t4?31:33;break;case 21:return r=et(s,c,o),l.abrupt("break",33);case 23:return r=nt(s,c,o),l.abrupt("break",33);case 25:return r=rt(s,c,o),l.abrupt("break",33);case 27:return r=at(s,c),l.abrupt("break",33);case 29:return r=ht(s,c),l.abrupt("break",33);case 31:return r=it(s,c),l.abrupt("break",33);case 33:l.next=40;break;case 35:throw l.prev=35,l.t5=l.catch(17),l.t5.position=t.position,l.t5.token=o,l.t5;case 40:return l.abrupt("return",r);case 41:case"end":return l.stop()}},p,null,[[5,10],[17,35]])}function X(t,e,n){var r,s,a,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:i.t0=t.value,i.next="-"===i.t0?3:"["===i.t0?15:"{"===i.t0?27:30;break;case 3:return i.delegateYield(B(t.expression,e,n),"t1",4);case 4:if(void 0!==(r=i.t1)){i.next=9;break}r=void 0,i.next=14;break;case 9:if(!T(r)){i.next=13;break}r=-r,i.next=14;break;case 13:throw{code:"D1002",stack:(new Error).stack,position:t.position,token:t.value,value:r};case 14:return i.abrupt("break",30);case 15:r=[],s=0;case 17:if(!(s<t.expressions.length)){i.next=25;break}return a=t.expressions[s],i.delegateYield(B(a,e,n),"t2",20);case 20:void 0!==(c=i.t2)&&("["===a.value?r.push(c):r=o.append(r,c));case 22:s++,i.next=17;break;case 25:return t.consarray&&Object.defineProperty(r,"cons",{enumerable:!1,configurable:!1,value:!0}),i.abrupt("break",30);case 27:return i.delegateYield(ct(t,e,n),"t3",28);case 28:return r=i.t3,i.abrupt("break",30);case 30:return i.abrupt("return",r);case 31:case"end":return i.stop()}},f)}function q(t,e,n){return o.lookup(e,t.value)}function K(t){return t.value}function Z(t,e){var n=D();return Array.isArray(e)&&e.outerWrapper&&e.length>0&&(e=e[0]),null!==e&&"object"===r(e)&&Object.keys(e).forEach(function(t){var r=e[t];Array.isArray(r)?(r=Q(r),n=o.append(n,r)):n.push(r)}),n}function Q(t,e){return void 0===e&&(e=[]),Array.isArray(t)?t.forEach(function(t){Q(t,e)}):e.push(t),e}function J(t,e){var n,r=D();return void 0!==e&&(tt(e,r),n=1===r.length?r[0]:r),n}function tt(t,e){Array.isArray(t)||e.push(t),Array.isArray(t)?t.forEach(function(t){tt(t,e)}):null!==t&&"object"===r(t)&&Object.keys(t).forEach(function(n){tt(t[n],e)})}function et(t,e,n){var r;if(void 0!==t&&!T(t))throw{code:"T2001",stack:(new Error).stack,value:t};if(void 0!==e&&!T(e))throw{code:"T2002",stack:(new Error).stack,value:e};if(void 0===t||void 0===e)return r;switch(n){case"+":r=t+e;break;case"-":r=t-e;break;case"*":r=t*e;break;case"/":r=t/e;break;case"%":r=t%e}return r}function nt(t,e,n){var i,s=r(t),o=r(e);if("undefined"===s||"undefined"===o)return!1;switch(n){case"=":i=F(t,e);break;case"!=":i=!F(t,e)}return i}function rt(t,e,n){var i,s=r(t),o=r(e);if("undefined"!==s&&"string"!==s&&"number"!==s||"undefined"!==o&&"string"!==o&&"number"!==o)throw{code:"T2010",stack:(new Error).stack,value:"string"!==s&&"number"!==s?t:e};if("undefined"!==s&&"undefined"!==o){if(s!==o)throw{code:"T2009",stack:(new Error).stack,value:t,value2:e};switch(n){case"<":i=t<e;break;case"<=":i=t<=e;break;case">":i=t>e;break;case">=":i=t>=e}return i}}function it(t,e){var n=!1;if(void 0===t||void 0===e)return!1;Array.isArray(e)||(e=[e]);for(var r=0;r<e.length;r++)if(e[r]===t){n=!0;break}return n}function st(t,e,n){var r,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:s=ot(t),i.t0=n,i.next="and"===i.t0?4:"or"===i.t0?12:20;break;case 4:if(i.t1=s,!i.t1){i.next=10;break}return i.t2=ot,i.delegateYield(e(),"t3",8);case 8:i.t4=i.t3,i.t1=(0,i.t2)(i.t4);case 10:return r=i.t1,i.abrupt("break",20);case 12:if(i.t5=s,i.t5){i.next=18;break}return i.t6=ot,i.delegateYield(e(),"t7",16);case 16:i.t8=i.t7,i.t5=(0,i.t6)(i.t8);case 18:return r=i.t5,i.abrupt("break",20);case 20:return i.abrupt("return",r);case 21:case"end":return i.stop()}},g)}function ot(t){var e=o.boolean(t);return void 0!==e&&e}function at(t,e){var n="",r="";return void 0!==t&&(n=o.string(t)),void 0!==e&&(r=o.string(e)),n.concat(r)}function ct(t,e,n){var r,s,a,c,l,h,u,d,p,f,g,y,b;return i().wrap(function(m){for(;;)switch(m.prev=m.next){case 0:r={},s={},a=!(!e||!e.tupleStream),Array.isArray(e)||(e=D(e)),0===e.length&&e.push(void 0),c=0;case 6:if(!(c<e.length)){m.next=31;break}l=e[c],h=a?Y(n,l):n,u=0;case 10:if(!(u<t.lhs.length)){m.next=28;break}return d=t.lhs[u],m.delegateYield(B(d[0],a?l["@"]:l,h),"t0",13);case 13:if("string"==typeof(p=m.t0)||void 0===p){m.next=16;break}throw{code:"T1003",stack:(new Error).stack,position:t.position,value:p};case 16:if(void 0===p){m.next=25;break}if(f={data:l,exprIndex:u},!s.hasOwnProperty(p)){m.next=24;break}if(s[p].exprIndex===u){m.next=21;break}throw{code:"D1009",stack:(new Error).stack,position:t.position,value:p};case 21:s[p].data=o.append(s[p].data,l),m.next=25;break;case 24:s[p]=f;case 25:u++,m.next=10;break;case 28:c++,m.next=6;break;case 31:m.t1=i().keys(s);case 32:if((m.t2=m.t1()).done){m.next=43;break}return p=m.t2.value,f=s[p],g=f.data,h=n,a&&(y=lt(f.data),g=y["@"],delete y["@"],h=Y(n,y)),m.delegateYield(B(t.lhs[f.exprIndex][1],g,h),"t3",39);case 39:void 0!==(b=m.t3)&&(r[p]=b),m.next=32;break;case 43:return m.abrupt("return",r);case 44:case"end":return m.stop()}},m)}function lt(t){if(!Array.isArray(t))return t;var e={};Object.assign(e,t[0]);for(var n=1;n<t.length;n++)for(var r in t[n])e[r]=o.append(e[r],t[n][r]);return e}function ht(t,e){var n;if(void 0!==t&&!Number.isInteger(t))throw{code:"T2003",stack:(new Error).stack,value:t};if(void 0!==e&&!Number.isInteger(e))throw{code:"T2004",stack:(new Error).stack,value:e};if(void 0===t||void 0===e)return n;if(t>e)return n;var r=e-t+1;if(r>1e7)throw{code:"D2014",stack:(new Error).stack,value:r};n=new Array(r);for(var i=t,s=0;i<=e;i++,s++)n[s]=i;return n.sequence=!0,n}function ut(t,e,n){var r;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(B(t.rhs,e,n),"t0",1);case 1:return r=i.t0,n.bind(t.lhs.value,r),i.abrupt("return",r);case 4:case"end":return i.stop()}},y)}function dt(t,e,n){var r,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(B(t.condition,e,n),"t0",1);case 1:if(s=i.t0,!o.boolean(s)){i.next=7;break}return i.delegateYield(B(t.then,e,n),"t1",4);case 4:r=i.t1,i.next=10;break;case 7:if(void 0===t.else){i.next=10;break}return i.delegateYield(B(t.else,e,n),"t2",9);case 9:r=i.t2;case 10:return i.abrupt("return",r);case 11:case"end":return i.stop()}},b)}function pt(t,e,n){var r,s,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:s=It(n),o=0;case 2:if(!(o<t.expressions.length)){i.next=8;break}return i.delegateYield(B(t.expressions[o],e,s),"t0",4);case 4:r=i.t0;case 5:o++,i.next=2;break;case 8:return i.abrupt("return",r);case 9:case"end":return i.stop()}},v)}function ft(t){var e=new Lt.RegexEngine(t.value),n=function n(r,i){var s;e.lastIndex=i||0;var o=e.exec(r);if(null!==o){if(s={match:o[0],start:o.index,end:o.index+o[0].length,groups:[]},o.length>1)for(var a=1;a<o.length;a++)s.groups.push(o[a]);s.next=function(){if(!(e.lastIndex>=r.length)){var i=n(r,e.lastIndex);if(i&&""===i.match)throw{code:"D1004",stack:(new Error).stack,position:t.position,value:t.value.source};return i}}}return s};return n}function gt(t,e,n){return""===t.value?e&&e.outerWrapper?e[0]:e:n.lookup(t.value)}function mt(t,e,n){var s,a,c,l,h;return i().wrap(function(u){for(;;)switch(u.prev=u.next){case 0:return a=e,c=!!e.tupleStream,l=i().mark(function e(s,o){var a,l,h,u,d,p,f,g,m;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=0,l=0;case 2:if(!(0===a&&l<t.terms.length)){e.next=35;break}return h=t.terms[l],u=s,d=n,c&&(u=s["@"],d=Y(n,s)),e.delegateYield(B(h.expression,u,d),"t0",8);case 8:return p=e.t0,u=o,d=n,c&&(u=o["@"],d=Y(n,o)),e.delegateYield(B(h.expression,u,d),"t1",13);case 13:if(f=e.t1,g=r(p),m=r(f),"undefined"!==g){e.next=19;break}return a="undefined"===m?0:1,e.abrupt("continue",32);case 19:if("undefined"!==m){e.next=22;break}return a=-1,e.abrupt("continue",32);case 22:if(!("string"!==g&&"number"!==g||"string"!==m&&"number"!==m)){e.next=24;break}throw{code:"T2008",stack:(new Error).stack,position:t.position,value:"string"!==g&&"number"!==g?p:f};case 24:if(g===m){e.next=26;break}throw{code:"T2007",stack:(new Error).stack,position:t.position,value:p,value2:f};case 26:if(p!==f){e.next=30;break}return e.abrupt("continue",32);case 30:a=p<f?-1:1;case 31:!0===h.descending&&(a=-a);case 32:l++,e.next=2;break;case 35:return e.abrupt("return",1===a);case 36:case"end":return e.stop()}},e)}),h={environment:n,input:e},u.delegateYield(o.sort.apply(h,[a,l]),"t0",5);case 5:return s=u.t0,u.abrupt("return",s);case 7:case"end":return u.stop()}},x)}function yt(t,e,n){var s=i().mark(function e(s){var o,a,c,l,h,u,d,p,f,g,m;return i().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==s){e.next=2;break}return e.abrupt("return",void 0);case 2:if(o=n.lookup("clone"),I(o)){e.next=5;break}throw{code:"T2013",stack:(new Error).stack,position:t.position};case 5:return e.delegateYield(_t(o,[s],null,n),"t0",6);case 6:return a=e.t0,e.delegateYield(B(t.pattern,a,n),"t1",8);case 8:if(void 0===(c=e.t1)){e.next=35;break}Array.isArray(c)||(c=[c]),l=0;case 12:if(!(l<c.length)){e.next=35;break}if(!(h=c[l])||!(h.isPrototypeOf(a)||h instanceof Object.constructor)){e.next=16;break}throw{code:"D1010",stack:(new Error).stack,position:t.position};case 16:return e.delegateYield(B(t.update,h,n),"t2",17);case 17:if(u=e.t2,"undefined"===(d=r(u))){e.next=23;break}if("object"===d&&null!==u&&!Array.isArray(u)){e.next=22;break}throw{code:"T2011",stack:(new Error).stack,position:t.update.position,value:u};case 22:for(p in u)h[p]=u[p];case 23:if(void 0===t.delete){e.next=32;break}return e.delegateYield(B(t.delete,h,n),"t3",25);case 25:if(void 0===(f=e.t3)){e.next=32;break}if(g=f,Array.isArray(f)||(f=[f]),P(f)){e.next=31;break}throw{code:"T2012",stack:(new Error).stack,position:t.delete.position,value:g};case 31:for(m=0;m<f.length;m++)"object"===r(h)&&null!==h&&delete h[f[m]];case 32:l++,e.next=12;break;case 35:return e.abrupt("return",a);case 36:case"end":return e.stop()}},e)});return Ot(s,"<(oa):o>")}var bt=c("function($f, $g) { function($x){ $g($f($x)) } }");function vt(t,e,n){var r,s,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(B(t.lhs,e,n),"t0",1);case 1:if(s=i.t0,"function"!==t.rhs.type){i.next=7;break}return i.delegateYield(xt(t.rhs,e,n,{context:s}),"t1",4);case 4:r=i.t1,i.next=20;break;case 7:return i.delegateYield(B(t.rhs,e,n),"t2",8);case 8:if(o=i.t2,I(o)){i.next=11;break}throw{code:"T2006",stack:(new Error).stack,position:t.position,value:o};case 11:if(!I(s)){i.next=18;break}return i.delegateYield(B(bt,null,n),"t3",13);case 13:return a=i.t3,i.delegateYield(_t(a,[s,o],null,n),"t4",15);case 15:r=i.t4,i.next=20;break;case 18:return i.delegateYield(_t(o,[s],null,n),"t5",19);case 19:r=i.t5;case 20:return i.abrupt("return",r);case 21:case"end":return i.stop()}},_)}function xt(t,e,n,s){var o,a,c,l,h,u;return i().wrap(function(d){for(;;)switch(d.prev=d.next){case 0:return d.delegateYield(B(t.procedure,e,n),"t0",1);case 1:if(void 0!==(a=d.t0)||"path"!==t.procedure.type||!n.lookup(t.procedure.steps[0].value)){d.next=4;break}throw{code:"T1005",stack:(new Error).stack,position:t.position,token:t.procedure.steps[0].value};case 4:c=[],void 0!==s&&c.push(s.context),l=i().mark(function r(){var s,o;return i().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return r.delegateYield(B(t.arguments[h],e,n),"t0",1);case 1:s=r.t0,I(s)?(o=i().mark(function t(){var e,r,o,a=arguments;return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:for(e=a.length,r=new Array(e),o=0;o<e;o++)r[o]=a[o];return t.delegateYield(_t(s,r,null,n),"t0",2);case 2:return t.abrupt("return",t.t0);case 3:case"end":return t.stop()}},t)}),o.arity=L(s),c.push(o)):c.push(s);case 3:case"end":return r.stop()}},r)}),h=0;case 8:if(!(h<t.arguments.length)){d.next=13;break}return d.delegateYield(l(),"t1",10);case 10:h++,d.next=8;break;case 13:return u="path"===t.procedure.type?t.procedure.steps[0].value:t.procedure.value,d.prev=14,"object"===r(a)&&(a.token=u,a.position=t.position),d.delegateYield(_t(a,c,e,n),"t2",17);case 17:o=d.t2,d.next=25;break;case 20:throw d.prev=20,d.t3=d.catch(14),d.t3.position||(d.t3.position=t.position),d.t3.token||(d.t3.token=u),d.t3;case 25:return d.abrupt("return",o);case 26:case"end":return d.stop()}},w,null,[[14,20]])}function _t(t,e,n,r){var s,o,a,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return i.delegateYield(wt(t,e,n,r),"t0",1);case 1:s=i.t0;case 2:if(!z(s)||!0!==s.thunk){i.next=21;break}return i.delegateYield(B(s.body.procedure,s.input,s.environment),"t1",4);case 4:o=i.t1,"variable"===s.body.procedure.type&&(o.token=s.body.procedure.value),o.position=s.body.procedure.position,a=[],c=0;case 9:if(!(c<s.body.arguments.length)){i.next=17;break}return i.t2=a,i.delegateYield(B(s.body.arguments[c],s.input,s.environment),"t3",12);case 12:i.t4=i.t3,i.t2.push.call(i.t2,i.t4);case 14:c++,i.next=9;break;case 17:return i.delegateYield(wt(o,a,n,r),"t5",18);case 18:s=i.t5,i.next=2;break;case 21:return i.abrupt("return",s);case 22:case"end":return i.stop()}},A)}function wt(t,e,n,r){var s,o,a;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(i.prev=0,o=e,t&&(o=Mt(t.signature,e,n)),!z(t)){i.next=8;break}return i.delegateYield(Et(t,o),"t0",5);case 5:s=i.t0,i.next=24;break;case 8:if(!t||!0!==t._jsonata_function){i.next=16;break}if(a={environment:r,input:n},s=t.implementation.apply(a,o),!R(s)){i.next=14;break}return i.delegateYield(s,"t1",13);case 13:s=i.t1;case 14:i.next=24;break;case 16:if("function"!=typeof t){i.next=23;break}if(s=t.apply(n,o),!R(s)){i.next=21;break}return i.delegateYield(s,"t2",20);case 20:s=i.t2;case 21:i.next=24;break;case 23:throw{code:"T1006",stack:(new Error).stack};case 24:i.next=30;break;case 26:throw i.prev=26,i.t3=i.catch(0),t&&(void 0===i.t3.token&&void 0!==t.token&&(i.t3.token=t.token),i.t3.position=t.position||i.t3.position),i.t3;case 30:return i.abrupt("return",s);case 31:case"end":return i.stop()}},S,null,[[0,26]])}function At(t,e,n){var r={_jsonata_lambda:!0,input:e,environment:n,arguments:t.arguments,signature:t.signature,body:t.body};return!0===t.thunk&&(r.thunk=!0),r.apply=i().mark(function t(n,s){return i().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.delegateYield(_t(r,s,e,n.environment),"t0",1);case 1:return t.abrupt("return",t.t0);case 2:case"end":return t.stop()}},t)}),r}function St(t,e,n){var r,s,o,a,c;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:s=[],o=0;case 2:if(!(o<t.arguments.length)){i.next=15;break}if("operator"!==(a=t.arguments[o]).type||"?"!==a.value){i.next=8;break}s.push(a),i.next=12;break;case 8:return i.t0=s,i.delegateYield(B(a,e,n),"t1",10);case 10:i.t2=i.t1,i.t0.push.call(i.t0,i.t2);case 12:o++,i.next=2;break;case 15:return i.delegateYield(B(t.procedure,e,n),"t3",16);case 16:if(void 0!==(c=i.t3)||"path"!==t.procedure.type||!n.lookup(t.procedure.steps[0].value)){i.next=19;break}throw{code:"T1007",stack:(new Error).stack,position:t.position,token:t.procedure.steps[0].value};case 19:if(!z(c)){i.next=23;break}r=kt(c,s),i.next=32;break;case 23:if(!c||!0!==c._jsonata_function){i.next=27;break}r=Ct(c.implementation,s),i.next=32;break;case 27:if("function"!=typeof c){i.next=31;break}r=Ct(c,s),i.next=32;break;case 31:throw{code:"T1008",stack:(new Error).stack,position:t.position,token:"path"===t.procedure.type?t.procedure.steps[0].value:t.procedure.value};case 32:return i.abrupt("return",r);case 33:case"end":return i.stop()}},M)}function Mt(t,e,n){return void 0===t?e:t.validate(e,n)}function Et(t,e){var n,r;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(r=It(t.environment),t.arguments.forEach(function(t,n){r.bind(t.value,e[n])}),"function"!=typeof t.body){i.next=7;break}return i.delegateYield(Tt(t.body,r),"t0",4);case 4:n=i.t0,i.next=9;break;case 7:return i.delegateYield(B(t.body,t.input,r),"t1",8);case 8:n=i.t1;case 9:return i.abrupt("return",n);case 10:case"end":return i.stop()}},E)}function kt(t,e){var n=It(t.environment),r=[];return t.arguments.forEach(function(t,i){var s=e[i];s&&"operator"===s.type&&"?"===s.value?r.push(t):n.bind(t.value,s)}),{_jsonata_lambda:!0,input:t.input,environment:n,arguments:r,body:t.body}}function Ct(t,e){var n=Pt(t),r="function("+(n=n.map(function(t){return"$"+t.trim()})).join(", ")+"){ _ }",i=c(r);return i.body=t,kt(i,e)}function Tt(t,e){var n,r,s,o;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(n=Pt(t),r=n.map(function(t){return e.lookup(t.trim())}),s={environment:e},o=t.apply(s,r),!R(o)){i.next=7;break}return i.delegateYield(o,"t0",6);case 6:o=i.t0;case 7:return i.abrupt("return",o);case 8:case"end":return i.stop()}},k)}function Pt(t){var e=t.toString();return/\(([^)]*)\)/.exec(e)[1].split(",")}function Ot(t,e){var n={_jsonata_function:!0,implementation:t};return void 0!==e&&(n.signature=l(e)),n}function Dt(t,e){var n,r,s;return i().wrap(function(i){for(;;)switch(i.prev=i.next){case 0:if(void 0!==t){i.next=2;break}return i.abrupt("return",void 0);case 2:n=this.input,void 0!==e&&(n=e,Array.isArray(n)&&!j(n)&&((n=D(n)).outerWrapper=!0)),i.prev=4,r=c(t,!1),i.next=12;break;case 8:throw i.prev=8,i.t0=i.catch(4),Rt(i.t0),{stack:(new Error).stack,code:"D3120",value:i.t0.message,error:i.t0};case 12:return i.prev=12,i.delegateYield(B(r,n,this.environment),"t1",14);case 14:s=i.t1,i.next=21;break;case 17:throw i.prev=17,i.t2=i.catch(12),Rt(i.t2),{stack:(new Error).stack,code:"D3121",value:i.t2.message,error:i.t2};case 21:return i.abrupt("return",s);case 22:case"end":return i.stop()}},C,this,[[4,8],[12,17]])}function jt(t){if(void 0!==t)return JSON.parse(o.string(t))}function It(t){var e={};return{bind:function(t,n){e[t]=n},lookup:function(n){var r;return e.hasOwnProperty(n)?r=e[n]:t&&(r=t.lookup(n)),r},timestamp:t?t.timestamp:null,async:!!t&&t.async,global:t?t.global:{ancestry:[null]}}}N.bind("sum",Ot(o.sum,"<a<n>:n>")),N.bind("count",Ot(o.count,"<a:n>")),N.bind("max",Ot(o.max,"<a<n>:n>")),N.bind("min",Ot(o.min,"<a<n>:n>")),N.bind("average",Ot(o.average,"<a<n>:n>")),N.bind("string",Ot(o.string,"<x-b?:s>")),N.bind("substring",Ot(o.substring,"<s-nn?:s>")),N.bind("substringBefore",Ot(o.substringBefore,"<s-s:s>")),N.bind("substringAfter",Ot(o.substringAfter,"<s-s:s>")),N.bind("lowercase",Ot(o.lowercase,"<s-:s>")),N.bind("uppercase",Ot(o.uppercase,"<s-:s>")),N.bind("length",Ot(o.length,"<s-:n>")),N.bind("trim",Ot(o.trim,"<s-:s>")),N.bind("pad",Ot(o.pad,"<s-ns?:s>")),N.bind("match",Ot(o.match,"<s-f<s:o>n?:a<o>>")),N.bind("contains",Ot(o.contains,"<s-(sf):b>")),N.bind("replace",Ot(o.replace,"<s-(sf)(sf)n?:s>")),N.bind("split",Ot(o.split,"<s-(sf)n?:a<s>>")),N.bind("join",Ot(o.join,"<a<s>s?:s>")),N.bind("formatNumber",Ot(o.formatNumber,"<n-so?:s>")),N.bind("formatBase",Ot(o.formatBase,"<n-n?:s>")),N.bind("formatInteger",Ot(s.formatInteger,"<n-s:s>")),N.bind("parseInteger",Ot(s.parseInteger,"<s-s:n>")),N.bind("number",Ot(o.number,"<(nsb)-:n>")),N.bind("floor",Ot(o.floor,"<n-:n>")),N.bind("ceil",Ot(o.ceil,"<n-:n>")),N.bind("round",Ot(o.round,"<n-n?:n>")),N.bind("abs",Ot(o.abs,"<n-:n>")),N.bind("sqrt",Ot(o.sqrt,"<n-:n>")),N.bind("power",Ot(o.power,"<n-n:n>")),N.bind("random",Ot(o.random,"<:n>")),N.bind("boolean",Ot(o.boolean,"<x-:b>")),N.bind("not",Ot(o.not,"<x-:b>")),N.bind("map",Ot(o.map,"<af>")),N.bind("zip",Ot(o.zip,"<a+>")),N.bind("filter",Ot(o.filter,"<af>")),N.bind("single",Ot(o.single,"<af?>")),N.bind("reduce",Ot(o.foldLeft,"<afj?:j>")),N.bind("sift",Ot(o.sift,"<o-f?:o>")),N.bind("keys",Ot(o.keys,"<x-:a<s>>")),N.bind("lookup",Ot(o.lookup,"<x-s:x>")),N.bind("append",Ot(o.append,"<xx:a>")),N.bind("exists",Ot(o.exists,"<x:b>")),N.bind("spread",Ot(o.spread,"<x-:a<o>>")),N.bind("merge",Ot(o.merge,"<a<o>:o>")),N.bind("reverse",Ot(o.reverse,"<a:a>")),N.bind("each",Ot(o.each,"<o-f:a>")),N.bind("error",Ot(o.error,"<s?:x>")),N.bind("assert",Ot(o.assert,"<bs?:x>")),N.bind("type",Ot(o.type,"<x:s>")),N.bind("sort",Ot(o.sort,"<af?:a>")),N.bind("shuffle",Ot(o.shuffle,"<a:a>")),N.bind("distinct",Ot(o.distinct,"<x:x>")),N.bind("base64encode",Ot(o.base64encode,"<s-:s>")),N.bind("base64decode",Ot(o.base64decode,"<s-:s>")),N.bind("encodeUrlComponent",Ot(o.encodeUrlComponent,"<s-:s>")),N.bind("encodeUrl",Ot(o.encodeUrl,"<s-:s>")),N.bind("decodeUrlComponent",Ot(o.decodeUrlComponent,"<s-:s>")),N.bind("decodeUrl",Ot(o.decodeUrl,"<s-:s>")),N.bind("eval",Ot(Dt,"<sx?:x>")),N.bind("toMillis",Ot(s.toMillis,"<s-s?:n>")),N.bind("fromMillis",Ot(s.fromMillis,"<n-s?s?:s>")),N.bind("clone",Ot(jt,"<(oa)-:o>"));var zt={S0101:"String literal must be terminated by a matching quote",S0102:"Number out of range: {{token}}",S0103:"Unsupported escape sequence: \\{{token}}",S0104:"The escape sequence \\u must be followed by 4 hex digits",S0105:"Quoted property name must be terminated with a backquote (`)",S0106:"Comment has no closing tag",S0201:"Syntax error: {{token}}",S0202:"Expected {{value}}, got {{token}}",S0203:"Expected {{value}} before end of expression",S0204:"Unknown operator: {{token}}",S0205:"Unexpected token: {{token}}",S0206:"Unknown expression type: {{token}}",S0207:"Unexpected end of expression",S0208:"Parameter {{value}} of function definition must be a variable name (start with $)",S0209:"A predicate cannot follow a grouping expression in a step",S0210:"Each step can only have one grouping expression",S0211:"The symbol {{token}} cannot be used as a unary operator",S0212:"The left side of := must be a variable name (start with $)",S0213:"The literal value {{value}} cannot be used as a step within a path expression",S0214:"The right side of {{token}} must be a variable name (start with $)",S0215:"A context variable binding must precede any predicates on a step",S0216:"A context variable binding must precede the 'order-by' clause on a step",S0217:"The object representing the 'parent' cannot be derived from this expression",S0301:"Empty regular expressions are not allowed",S0302:"No terminating / in regular expression",S0402:"Choice groups containing parameterized types are not supported",S0401:"Type parameters can only be applied to functions and arrays",S0500:"Attempted to evaluate an expression containing syntax error(s)",T0410:"Argument {{index}} of function {{token}} does not match function signature",T0411:"Context value is not a compatible type with argument {{index}} of function {{token}}",T0412:"Argument {{index}} of function {{token}} must be an array of {{type}}",D1001:"Number out of range: {{value}}",D1002:"Cannot negate a non-numeric value: {{value}}",T1003:"Key in object structure must evaluate to a string; got: {{value}}",D1004:"Regular expression matches zero length string",T1005:"Attempted to invoke a non-function. Did you mean ${{{token}}}?",T1006:"Attempted to invoke a non-function",T1007:"Attempted to partially apply a non-function. Did you mean ${{{token}}}?",T1008:"Attempted to partially apply a non-function",D1009:"Multiple key definitions evaluate to same key: {{value}}",D1010:"Attempted to access the Javascript object prototype",T1010:"The matcher function argument passed to function {{token}} does not return the correct object structure",T2001:"The left side of the {{token}} operator must evaluate to a number",T2002:"The right side of the {{token}} operator must evaluate to a number",T2003:"The left side of the range operator (..) must evaluate to an integer",T2004:"The right side of the range operator (..) must evaluate to an integer",D2005:"The left side of := must be a variable name (start with $)",T2006:"The right side of the function application operator ~> must be a function",T2007:"Type mismatch when comparing values {{value}} and {{value2}} in order-by clause",T2008:"The expressions within an order-by clause must evaluate to numeric or string values",T2009:"The values {{value}} and {{value2}} either side of operator {{token}} must be of the same data type",T2010:"The expressions either side of operator {{token}} must evaluate to numeric or string values",T2011:"The insert/update clause of the transform expression must evaluate to an object: {{value}}",T2012:"The delete clause of the transform expression must evaluate to a string or array of strings: {{value}}",T2013:"The transform expression clones the input object using the $clone() function. This has been overridden in the current scope by a non-function.",D2014:"The size of the sequence allocated by the range operator (..) must not exceed 1e6. Attempted to allocate {{value}}.",D3001:"Attempting to invoke string function on Infinity or NaN",D3010:"Second argument of replace function cannot be an empty string",D3011:"Fourth argument of replace function must evaluate to a positive number",D3012:"Attempted to replace a matched string with a non-string value",D3020:"Third argument of split function must evaluate to a positive number",D3030:"Unable to cast value to a number: {{value}}",D3040:"Third argument of match function must evaluate to a positive number",D3050:"The second argument of reduce function must be a function with at least two arguments",D3060:"The sqrt function cannot be applied to a negative number: {{value}}",D3061:"The power function has resulted in a value that cannot be represented as a JSON number: base={{value}}, exponent={{exp}}",D3070:"The single argument form of the sort function can only be applied to an array of strings or an array of numbers. Use the second argument to specify a comparison function",D3080:"The picture string must only contain a maximum of two sub-pictures",D3081:"The sub-picture must not contain more than one instance of the 'decimal-separator' character",D3082:"The sub-picture must not contain more than one instance of the 'percent' character",D3083:"The sub-picture must not contain more than one instance of the 'per-mille' character",D3084:"The sub-picture must not contain both a 'percent' and a 'per-mille' character",D3085:"The mantissa part of a sub-picture must contain at least one character that is either an 'optional digit character' or a member of the 'decimal digit family'",D3086:"The sub-picture must not contain a passive character that is preceded by an active character and that is followed by another active character",D3087:"The sub-picture must not contain a 'grouping-separator' character that appears adjacent to a 'decimal-separator' character",D3088:"The sub-picture must not contain a 'grouping-separator' at the end of the integer part",D3089:"The sub-picture must not contain two adjacent instances of the 'grouping-separator' character",D3090:"The integer part of the sub-picture must not contain a member of the 'decimal digit family' that is followed by an instance of the 'optional digit character'",D3091:"The fractional part of the sub-picture must not contain an instance of the 'optional digit character' that is followed by a member of the 'decimal digit family'",D3092:"A sub-picture that contains a 'percent' or 'per-mille' character must not contain a character treated as an 'exponent-separator'",D3093:"The exponent part of the sub-picture must comprise only of one or more characters that are members of the 'decimal digit family'",D3100:"The radix of the formatBase function must be between 2 and 36. It was given {{value}}",D3110:"The argument of the toMillis function must be an ISO 8601 formatted timestamp. Given {{value}}",D3120:"Syntax error in expression passed to function eval: {{value}}",D3121:"Dynamic error evaluating the expression passed to function eval: {{value}}",D3130:"Formatting or parsing an integer as a sequence starting with {{value}} is not supported by this implementation",D3131:"In a decimal digit pattern, all digits must be from the same decimal group",D3132:"Unknown component specifier {{value}} in date/time picture string",D3133:"The 'name' modifier can only be applied to months and days in the date/time picture string, not {{value}}",D3134:"The timezone integer format specifier cannot have more than four digits",D3135:"No matching closing bracket ']' in date/time picture string",D3136:"The date/time picture string is missing specifiers required to parse the timestamp",D3137:"{{{message}}}",D3138:"The $single() function expected exactly 1 matching result. Instead it matched more.",D3139:"The $single() function expected exactly 1 matching result. Instead it matched 0.",D3140:"Malformed URL passed to ${{{functionName}}}(): {{value}}",D3141:"{{{message}}}"};function Rt(t){var e=zt[t.code];if(void 0!==e){var n=e.replace(/\{\{\{([^}]+)}}}/g,function(){return t[arguments[1]]});n=n.replace(/\{\{([^}]+)}}/g,function(){return JSON.stringify(t[arguments[1]])}),t.message=n}}function Lt(t,e){var n,r;try{n=c(t,e&&e.recover),r=n.errors,delete n.errors}catch(t){throw Rt(t),t}var i=It(N),o=new Date;return i.bind("now",Ot(function(t,e){return s.fromMillis(o.getTime(),t,e)},"<s?s?:s>")),i.bind("millis",Ot(function(){return o.getTime()},"<:n>")),e&&e.RegexEngine?Lt.RegexEngine=e.RegexEngine:Lt.RegexEngine=RegExp,{evaluate:function(t,e,s){if(void 0!==r){var a={code:"S0500",position:0};throw Rt(a),a}var c,l,h;if(void 0!==e)for(var u in c=It(i),e)c.bind(u,e[u]);else c=i;if(c.bind("$",t),o=new Date,c.timestamp=o,Array.isArray(t)&&!j(t)&&((t=D(t)).outerWrapper=!0),"function"==typeof s){c.async=!0;var d=function(t){Rt(t),s(t,null)},p=function t(e){(l=h.next(e)).done?s(null,l.value):l.value.then(t).catch(d)};h=B(n,t,c),(l=h.next()).value.then(p).catch(d)}else try{for(h=B(n,t,c),l=h.next();!l.done;)l=h.next(l.value);return l.value}catch(a){throw Rt(a),a}},assign:function(t,e){i.bind(t,e)},registerFunction:function(t,e,n){var r=Ot(e,n);i.bind(t,r)},ast:function(){return n},errors:function(){return r}}}return Lt.parser=c,Lt}();e.exports=h},{"./datetime":1,"./functions":2,"./parser":4,"./signature":5,"./utils":6}],4:[function(t,e,n){var r=t("./signature"),i=function(){var t={".":75,"[":80,"]":0,"{":70,"}":0,"(":80,")":0,",":0,"@":80,"#":80,";":80,":":80,"?":20,"+":50,"-":50,"*":60,"/":60,"%":60,"|":20,"=":40,"<":40,">":40,"^":40,"**":60,"..":20,":=":10,"!=":40,"<=":40,">=":40,"~>":40,and:30,or:25,in:40,"&":50,"!":0,"~":0},e={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},n=function(n){var r=0,i=n.length,s=function(t,e){return{type:t,value:e,position:r}},o=function(){for(var t,e,s=r,o=0;r<i;){var a=n.charAt(r);if("/"===a&&"\\"!==n.charAt(r-1)&&0===o){if(""===(t=n.substring(s,r)))throw{code:"S0301",stack:(new Error).stack,position:r};for(r++,a=n.charAt(r),s=r;"i"===a||"m"===a;)r++,a=n.charAt(r);return e=n.substring(s,r)+"g",new RegExp(t,e)}"("!==a&&"["!==a&&"{"!==a||"\\"===n.charAt(r-1)||o++,")"!==a&&"]"!==a&&"}"!==a||"\\"===n.charAt(r-1)||o--,r++}throw{code:"S0302",stack:(new Error).stack,position:r}},a=function a(c){if(r>=i)return null;for(var l=n.charAt(r);r<i&&" \t\n\r\v".indexOf(l)>-1;)r++,l=n.charAt(r);if("/"===l&&"*"===n.charAt(r+1)){var h=r;for(r+=2,l=n.charAt(r);"*"!==l||"/"!==n.charAt(r+1);)if(l=n.charAt(++r),r>=i)throw{code:"S0106",stack:(new Error).stack,position:h};return r+=2,l=n.charAt(r),a(c)}if(!0!==c&&"/"===l)return r++,s("regex",o());if("."===l&&"."===n.charAt(r+1))return r+=2,s("operator","..");if(":"===l&&"="===n.charAt(r+1))return r+=2,s("operator",":=");if("!"===l&&"="===n.charAt(r+1))return r+=2,s("operator","!=");if(">"===l&&"="===n.charAt(r+1))return r+=2,s("operator",">=");if("<"===l&&"="===n.charAt(r+1))return r+=2,s("operator","<=");if("*"===l&&"*"===n.charAt(r+1))return r+=2,s("operator","**");if("~"===l&&">"===n.charAt(r+1))return r+=2,s("operator","~>");if(Object.prototype.hasOwnProperty.call(t,l))return r++,s("operator",l);if('"'===l||"'"===l){var u=l;r++;for(var d="";r<i;){if("\\"===(l=n.charAt(r)))if(r++,l=n.charAt(r),Object.prototype.hasOwnProperty.call(e,l))d+=e[l];else{if("u"!==l)throw{code:"S0103",stack:(new Error).stack,position:r,token:l};var p=n.substr(r+1,4);if(!/^[0-9a-fA-F]+$/.test(p))throw{code:"S0104",stack:(new Error).stack,position:r};var f=parseInt(p,16);d+=String.fromCharCode(f),r+=4}else{if(l===u)return r++,s("string",d);d+=l}r++}throw{code:"S0101",stack:(new Error).stack,position:r}}var g,m=/^-?(0|([1-9][0-9]*))(\.[0-9]+)?([Ee][-+]?[0-9]+)?/.exec(n.substring(r));if(null!==m){var y=parseFloat(m[0]);if(!isNaN(y)&&isFinite(y))return r+=m[0].length,s("number",y);throw{code:"S0102",stack:(new Error).stack,position:r,token:m[0]}}if("`"===l){r++;var b=n.indexOf("`",r);if(-1!==b)return g=n.substring(r,b),r=b+1,s("name",g);throw r=i,{code:"S0105",stack:(new Error).stack,position:r}}for(var v,x=r;;)if(v=n.charAt(x),x===i||" \t\n\r\v".indexOf(v)>-1||Object.prototype.hasOwnProperty.call(t,v)){if("$"===n.charAt(r))return g=n.substring(r+1,x),r=x,s("variable",g);switch(g=n.substring(r,x),r=x,g){case"or":case"in":case"and":return s("operator",g);case"true":return s("value",!0);case"false":return s("value",!1);case"null":return s("value",null);default:return r===i&&""===g?null:s("name",g)}}else x++};return a},i=function(e,i){var s,o,a={},c=[],l=function(){var t=[];"(end)"!==s.id&&t.push({type:s.type,value:s.value,position:s.position});for(var e=o();null!==e;)t.push(e),e=o();return t},h={nud:function(){var t={code:"S0211",token:this.value,position:this.position};if(i)return t.remaining=l(),t.type="error",c.push(t),t;throw t.stack=(new Error).stack,t}},u=function(t,e){var n=a[t];return e=e||0,n?e>=n.lbp&&(n.lbp=e):((n=Object.create(h)).id=n.value=t,n.lbp=e,a[t]=n),n},d=function(t){if(i){t.remaining=l(),c.push(t);var e=a["(error)"];return(s=Object.create(e)).error=t,s.type="(error)",s}throw t.stack=(new Error).stack,t},p=function(t,n){if(t&&s.id!==t){var r={code:"(end)"===s.id?"S0203":"S0202",position:s.position,token:s.value,value:t};return d(r)}var i=o(n);if(null===i)return(s=a["(end)"]).position=e.length,s;var c,l=i.value,h=i.type;switch(h){case"name":case"variable":c=a["(name)"];break;case"operator":if(!(c=a[l]))return d({code:"S0204",stack:(new Error).stack,position:i.position,token:l});break;case"string":case"number":case"value":c=a["(literal)"];break;case"regex":h="regex",c=a["(regex)"];break;default:return d({code:"S0205",stack:(new Error).stack,position:i.position,token:l})}return(s=Object.create(c)).value=l,s.type=h,s.position=i.position,s},f=function(t){var e,n=s;for(p(null,!0),e=n.nud();t<s.lbp;)n=s,p(),e=n.led(e);return e},g=function(t){u(t,0).nud=function(){return this}},m=function(e,n,r){var i=n||t[e],s=u(e,i);return s.led=r||function(t){return this.lhs=t,this.rhs=f(i),this.type="binary",this},s},y=function(t,e,n){var r=u(t,e);return r.led=n,r},b=function(t,e){var n=u(t);return n.nud=e||function(){return this.expression=f(70),this.type="unary",this},n};g("(end)"),g("(name)"),g("(literal)"),g("(regex)"),u(":"),u(";"),u(","),u(")"),u("]"),u("}"),u(".."),m("."),m("+"),m("-"),m("*"),m("/"),m("%"),m("="),m("<"),m(">"),m("!="),m("<="),m(">="),m("&"),m("and"),m("or"),m("in"),g("and"),g("or"),g("in"),b("-"),m("~>"),y("(error)",10,function(t){return this.lhs=t,this.error=s.error,this.remaining=l(),this.type="error",this}),b("*",function(){return this.type="wildcard",this}),b("**",function(){return this.type="descendant",this}),b("%",function(){return this.type="parent",this}),m("(",t["("],function(t){if(this.procedure=t,this.type="function",this.arguments=[],")"!==s.id)for(;"operator"===s.type&&"?"===s.id?(this.type="partial",this.arguments.push(s),p("?")):this.arguments.push(f(0)),","===s.id;)p(",");if(p(")",!0),"name"===t.type&&("function"===t.value||"λ"===t.value)){if(this.arguments.forEach(function(t,e){if("variable"!==t.type)return d({code:"S0208",stack:(new Error).stack,position:t.position,token:t.value,value:e+1})}),this.type="lambda","<"===s.id){for(var e=s.position,n=1,i="<";n>0&&"{"!==s.id&&"(end)"!==s.id;){var o=p();">"===o.id?n--:"<"===o.id&&n++,i+=o.value}p(">");try{this.signature=r(i)}catch(t){return t.position=e+t.offset,d(t)}}p("{"),this.body=f(0),p("}")}return this}),b("(",function(){for(var t=[];")"!==s.id&&(t.push(f(0)),";"===s.id);)p(";");return p(")",!0),this.type="block",this.expressions=t,this}),b("[",function(){var t=[];if("]"!==s.id)for(;;){var e=f(0);if(".."===s.id){var n={type:"binary",value:"..",position:s.position,lhs:e};p(".."),n.rhs=f(0),e=n}if(t.push(e),","!==s.id)break;p(",")}return p("]",!0),this.expressions=t,this.type="unary",this}),m("[",t["["],function(e){if("]"===s.id){for(var n=e;n&&"binary"===n.type&&"["===n.value;)n=n.lhs;return n.keepArray=!0,p("]"),e}return this.lhs=e,this.rhs=f(t["]"]),this.type="binary",p("]",!0),this}),m("^",t["^"],function(t){p("(");for(var e=[];;){var n={descending:!1};if("<"===s.id?p("<"):">"===s.id&&(n.descending=!0,p(">")),n.expression=f(0),e.push(n),","!==s.id)break;p(",")}return p(")"),this.lhs=t,this.rhs=e,this.type="binary",this});var v=function(t){var e=[];if("}"!==s.id)for(;;){var n=f(0);p(":");var r=f(0);if(e.push([n,r]),","!==s.id)break;p(",")}return p("}",!0),void 0===t?(this.lhs=e,this.type="unary"):(this.lhs=t,this.rhs=e,this.type="binary"),this};b("{",v),m("{",t["{"],v),y(":=",t[":="],function(e){return"variable"!==e.type?d({code:"S0212",stack:(new Error).stack,position:e.position,token:e.value}):(this.lhs=e,this.rhs=f(t[":="]-1),this.type="binary",this)}),m("@",t["@"],function(e){return this.lhs=e,this.rhs=f(t["@"]),"variable"!==this.rhs.type?d({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"@"}):(this.type="binary",this)}),m("#",t["#"],function(e){return this.lhs=e,this.rhs=f(t["#"]),"variable"!==this.rhs.type?d({code:"S0214",stack:(new Error).stack,position:this.rhs.position,token:"#"}):(this.type="binary",this)}),m("?",t["?"],function(t){return this.type="condition",this.condition=t,this.then=f(0),":"===s.id&&(p(":"),this.else=f(0)),this}),b("|",function(){return this.type="transform",this.pattern=f(0),p("|"),this.update=f(0),","===s.id&&(p(","),this.delete=f(0)),p("|"),this});var x=function t(e){var n;if("function"!==e.type||e.predicate)if("condition"===e.type)e.then=t(e.then),void 0!==e.else&&(e.else=t(e.else)),n=e;else if("block"===e.type){var r=e.expressions.length;r>0&&(e.expressions[r-1]=t(e.expressions[r-1])),n=e}else n=e;else{var i={type:"lambda",thunk:!0,arguments:[],position:e.position};i.body=e,n=i}return n},_=0,w=0,A=[],S=function t(e,n){switch(e.type){case"name":case"wildcard":n.level--,0===n.level&&(void 0===e.ancestor||(A[n.index].slot.label=e.ancestor.label),e.ancestor=n,e.tuple=!0);break;case"parent":n.level++;break;case"block":e.expressions.length>0&&(e.tuple=!0,n=t(e.expressions[e.expressions.length-1],n));break;case"path":e.tuple=!0;var r=e.steps.length-1;for(n=t(e.steps[r--],n);n.level>0&&r>=0;)n=t(e.steps[r--],n);break;default:throw{code:"S0217",token:e.type,position:e.position}}return n},M=function(t,e){if(void 0!==e.seekingParent||"parent"===e.type){var n=void 0!==e.seekingParent?e.seekingParent:[];"parent"===e.type&&n.push(e.slot),void 0===t.seekingParent?t.seekingParent=n:Array.prototype.push.apply(t.seekingParent,n)}},E=function(t){var e=t.steps.length-1,n=t.steps[e],r=void 0!==n.seekingParent?n.seekingParent:[];"parent"===n.type&&r.push(n.slot);for(var i=0;i<r.length;i++){var s=r[i];for(e=t.steps.length-2;s.level>0;){if(e<0){void 0===t.seekingParent?t.seekingParent=[s]:t.seekingParent.push(s);break}for(var o=t.steps[e--];e>=0&&o.focus&&t.steps[e].focus;)o=t.steps[e--];s=S(o,s)}}},k=function t(e){var n;switch(e.type){case"binary":switch(e.value){case".":var r=t(e.lhs);n="path"===r.type?r:{type:"path",steps:[r]},"parent"===r.type&&(n.seekingParent=[r.slot]);var s=t(e.rhs);"function"===s.type&&"path"===s.procedure.type&&1===s.procedure.steps.length&&"name"===s.procedure.steps[0].type&&"function"===n.steps[n.steps.length-1].type&&(n.steps[n.steps.length-1].nextFunction=s.procedure.steps[0].value),"path"===s.type?Array.prototype.push.apply(n.steps,s.steps):(void 0!==s.predicate&&(s.stages=s.predicate,delete s.predicate),n.steps.push(s)),n.steps.filter(function(t){if("number"===t.type||"value"===t.type)throw{code:"S0213",stack:(new Error).stack,position:t.position,value:t.value};return"string"===t.type}).forEach(function(t){t.type="name"}),n.steps.filter(function(t){return!0===t.keepArray}).length>0&&(n.keepSingletonArray=!0);var o=n.steps[0];"unary"===o.type&&"["===o.value&&(o.consarray=!0);var a=n.steps[n.steps.length-1];"unary"===a.type&&"["===a.value&&(a.consarray=!0),E(n);break;case"[":var l=n=t(e.lhs),h="predicate";if("path"===n.type&&(l=n.steps[n.steps.length-1],h="stages"),void 0!==l.group)throw{code:"S0209",stack:(new Error).stack,position:e.position};void 0===l[h]&&(l[h]=[]);var u=t(e.rhs);void 0!==u.seekingParent&&(u.seekingParent.forEach(function(t){1===t.level?S(l,t):t.level--}),M(l,u)),l[h].push({type:"filter",expr:u,position:e.position});break;case"{":if(void 0!==(n=t(e.lhs)).group)throw{code:"S0210",stack:(new Error).stack,position:e.position};n.group={lhs:e.rhs.map(function(e){return[t(e[0]),t(e[1])]}),position:e.position};break;case"^":"path"!==(n=t(e.lhs)).type&&(n={type:"path",steps:[n]});var d={type:"sort",position:e.position};d.terms=e.rhs.map(function(e){var n=t(e.expression);return M(d,n),{descending:e.descending,expression:n}}),n.steps.push(d),E(n);break;case":=":(n={type:"bind",value:e.value,position:e.position}).lhs=t(e.lhs),n.rhs=t(e.rhs),M(n,n.rhs);break;case"@":if(n=t(e.lhs),l=n,"path"===n.type&&(l=n.steps[n.steps.length-1]),void 0!==l.stages||void 0!==l.predicate)throw{code:"S0215",stack:(new Error).stack,position:e.position};if("sort"===l.type)throw{code:"S0216",stack:(new Error).stack,position:e.position};e.keepArray&&(l.keepArray=!0),l.focus=e.rhs.value,l.tuple=!0;break;case"#":n=t(e.lhs),l=n,"path"===n.type?l=n.steps[n.steps.length-1]:(n={type:"path",steps:[n]},void 0!==l.predicate&&(l.stages=l.predicate,delete l.predicate)),void 0===l.stages?l.index=e.rhs.value:l.stages.push({type:"index",value:e.rhs.value,position:e.position}),l.tuple=!0;break;case"~>":(n={type:"apply",value:e.value,position:e.position}).lhs=t(e.lhs),n.rhs=t(e.rhs);break;default:(n={type:e.type,value:e.value,position:e.position}).lhs=t(e.lhs),n.rhs=t(e.rhs),M(n,n.lhs),M(n,n.rhs)}break;case"unary":n={type:e.type,value:e.value,position:e.position},"["===e.value?n.expressions=e.expressions.map(function(e){var r=t(e);return M(n,r),r}):"{"===e.value?n.lhs=e.lhs.map(function(e){var r=t(e[0]);M(n,r);var i=t(e[1]);return M(n,i),[r,i]}):(n.expression=t(e.expression),"-"===e.value&&"number"===n.expression.type?(n=n.expression).value=-n.value:M(n,n.expression));break;case"function":case"partial":(n={type:e.type,name:e.name,value:e.value,position:e.position}).arguments=e.arguments.map(function(e){var r=t(e);return M(n,r),r}),n.procedure=t(e.procedure);break;case"lambda":n={type:e.type,arguments:e.arguments,signature:e.signature,position:e.position};var p=t(e.body);n.body=x(p);break;case"condition":(n={type:e.type,position:e.position}).condition=t(e.condition),M(n,n.condition),n.then=t(e.then),M(n,n.then),void 0!==e.else&&(n.else=t(e.else),M(n,n.else));break;case"transform":(n={type:e.type,position:e.position}).pattern=t(e.pattern),n.update=t(e.update),void 0!==e.delete&&(n.delete=t(e.delete));break;case"block":(n={type:e.type,position:e.position}).expressions=e.expressions.map(function(e){var r=t(e);return M(n,r),(r.consarray||"path"===r.type&&r.steps[0].consarray)&&(n.consarray=!0),r});break;case"name":n={type:"path",steps:[e]},e.keepArray&&(n.keepSingletonArray=!0);break;case"parent":n={type:"parent",slot:{label:"!"+_++,level:1,index:w++}},A.push(n);break;case"string":case"number":case"value":case"wildcard":case"descendant":case"variable":case"regex":n=e;break;case"operator":if("and"===e.value||"or"===e.value||"in"===e.value)e.type="name",n=t(e);else{if("?"!==e.value)throw{code:"S0201",stack:(new Error).stack,position:e.position,token:e.value};n=e}break;case"error":n=e,e.lhs&&(n=t(e.lhs));break;default:var f="S0206";"(end)"===e.id&&(f="S0207");var g={code:f,position:e.position,token:e.value};if(i)return c.push(g),{type:"error",error:g};throw g.stack=(new Error).stack,g}return e.keepArray&&(n.keepArray=!0),n};o=n(e),p();var C=f(0);if("(end)"!==s.id){var T={code:"S0201",position:s.position,token:s.value};d(T)}if("parent"===(C=k(C)).type||void 0!==C.seekingParent)throw{code:"S0217",token:C.type,position:C.position};return c.length>0&&(C.errors=c),C};return i}();e.exports=i},{"./signature":5}],5:[function(t,e,n){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},r(t)}var i=t("./utils"),s=function(){var t={a:"arrays",b:"booleans",f:"functions",n:"numbers",o:"objects",s:"strings"};function e(e){for(var n=1,s=[],o={},a=o;n<e.length;){var c=e.charAt(n);if(":"===c)break;var l=function(){s.push(o),a=o,o={}},h=function(t,e,n,r){for(var i=1,s=e;s<t.length;)if(s++,(c=t.charAt(s))===r){if(0===--i)break}else c===n&&i++;return s};switch(c){case"s":case"n":case"b":case"l":case"o":o.regex="["+c+"m]",o.type=c,l();break;case"a":o.regex="[asnblfom]",o.type=c,o.array=!0,l();break;case"f":o.regex="f",o.type=c,l();break;case"j":o.regex="[asnblom]",o.type=c,l();break;case"x":o.regex="[asnblfom]",o.type=c,l();break;case"-":a.context=!0,a.contextRegex=new RegExp(a.regex),a.regex+="?";break;case"?":case"+":a.regex+=c;break;case"(":var u=h(e,n,"(",")"),d=e.substring(n+1,u);if(-1!==d.indexOf("<"))throw{code:"S0402",stack:(new Error).stack,value:d,offset:n};o.regex="["+d+"m]",o.type="("+d+")",n=u,l();break;case"<":if("a"!==a.type&&"f"!==a.type)throw{code:"S0401",stack:(new Error).stack,value:a.type,offset:n};var p=h(e,n,"<",">");a.subtype=e.substring(n+1,p),n=p}n++}var f="^"+s.map(function(t){return"("+t.regex+")"}).join("")+"$",g=new RegExp(f),m=function(t){var e;if(i.isFunction(t))e="f";else switch(r(t)){case"string":e="s";break;case"number":e="n";break;case"boolean":e="b";break;case"object":e=null===t?"l":Array.isArray(t)?"a":"o";break;default:e="m"}return e},y=function(t,e){for(var n="^",r=0,i=0;i<s.length;i++){n+=s[i].regex;var o=e.match(n);if(null===o)throw{code:"T0410",stack:(new Error).stack,value:t[r],index:r+1};r=o[0].length}throw{code:"T0410",stack:(new Error).stack,value:t[r],index:r+1}};return{definition:e,validate:function(e,n){var r="";e.forEach(function(t){r+=m(t)});var i=g.exec(r);if(i){var o=[],a=0;return s.forEach(function(r,s){var c=e[a],l=i[s+1];if(""===l)if(r.context&&r.contextRegex){var h=m(n);if(!r.contextRegex.test(h))throw{code:"T0411",stack:(new Error).stack,value:n,index:a+1};o.push(n)}else o.push(c),a++;else l.split("").forEach(function(n){if("a"===r.type){if("m"===n)c=void 0;else{c=e[a];var i=!0;if(void 0!==r.subtype)if("a"!==n&&l!==r.subtype)i=!1;else if("a"===n&&c.length>0){var s=m(c[0]);i=s===r.subtype.charAt(0)&&0===c.filter(function(t){return m(t)!==s}).length}if(!i)throw{code:"T0412",stack:(new Error).stack,value:c,index:a+1,type:t[r.subtype]};"a"!==n&&(c=[c])}o.push(c),a++}else o.push(c),a++})}),o}y(e,r)}}}return e}();e.exports=s},{"./utils":6}],6:[function(t,e,n){function r(t,e){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=i(t))||e){n&&(t=n);var r=0,s=function(){};return{s:s,n:function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}},e:function(t){throw t},f:s}}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 o,a=!0,c=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){c=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(c)throw o}}}}function i(t,e){if(t){if("string"==typeof t)return s(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)?s(t,e):void 0}}function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function o(t){return o="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},o(t)}var a=function(){function t(t){var e=!1;if("number"==typeof t&&(e=!isNaN(t))&&!isFinite(t))throw{code:"D1001",value:t,stack:(new Error).stack};return e}function e(t){var e=!1;return Array.isArray(t)&&(e=0===t.filter(function(t){return"string"!=typeof t}).length),e}function n(e){var n=!1;return Array.isArray(e)&&(n=0===e.filter(function(e){return!t(e)}).length),n}function i(){var t=[];return t.sequence=!0,1===arguments.length&&t.push(arguments[0]),t}function s(t){return!0===t.sequence&&Array.isArray(t)}function a(t){return t&&(!0===t._jsonata_function||!0===t._jsonata_lambda)||"function"==typeof t}function c(t){return"number"==typeof t.arity?t.arity:"function"==typeof t.implementation?t.implementation.length:"number"==typeof t.length?t.length:t.arguments.length}function l(t){return t&&!0===t._jsonata_lambda}var h=("function"==typeof Symbol?Symbol:{}).iterator||"@@iterator";function u(t){return"object"===o(t)&&null!==t&&h in t&&"next"in t&&"function"==typeof t.next}function d(t,e){if(t===e)return!0;if("object"===o(t)&&"object"===o(e)&&null!==t&&null!==e){if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(var n=0;n<t.length;n++)if(!d(t[n],e[n]))return!1;return!0}var r=Object.getOwnPropertyNames(t),i=Object.getOwnPropertyNames(e);if(r.length!==i.length)return!1;for(r=r.sort(),i=i.sort(),n=0;n<r.length;n++)if(r[n]!==i[n])return!1;for(n=0;n<r.length;n++){var s=r[n];if(!d(t[s],e[s]))return!1}return!0}return!1}function p(t){var e,n=[],i=r(t);try{for(i.s();!(e=i.n()).done;){var s=e.value;n.push(s)}}catch(t){i.e(t)}finally{i.f()}return n}return{isNumeric:t,isArrayOfStrings:e,isArrayOfNumbers:n,createSequence:i,isSequence:s,isFunction:a,isLambda:l,isIterable:u,getFunctionArity:c,isDeepEqual:d,stringToArray:p}}();e.exports=a},{}]},{},[3])(3)}(Hr)),Hr.exports),Vr=Gr(Wr);const $r=function(t){return t};function Xr(t){if(!t)return $r;try{const e=Vr(function(t){return t.replace(/(?<=^|\.|\[)([a-zA-Z_][\w]*-[\w-]*)(?=\.|$|\[|])/g,"`$1`")}(t));return function(t){return e.evaluate(t)}}catch(t){return Rr(t),$r}}function qr(t){const e=or(t);return null==e?"":String(e)}function Kr(t){return Number(or(t))}function Zr(t){return t}function Qr(t){return qr(t)}function Jr(t){return Kr(t)}function ti(t){if(this.param)return t=qr(t),this.param.hasOwnProperty(t)?this.param[t]:this.param.default}function ei(t){const{param:e}=this;if(e){for(const n in e){let[r,i]=n.split("~");const s=!!r,o=!!i,a=parseFloat(r),c=parseFloat(i);if(t=Kr(t),s&&!o&&t>=a)return e[n];if(!s&&o&&t<a)return e[n];if(t>=a&&t<c)return e[n]}return e.default}}function ni(t){return Kr(t)*Math.PI/180}function ri(){}const ii=[/\bimport\b/,/\brequire\b/,/\b__proto__\b/,/\bconstructor\s*\[/,/\bprototype\b/];const si=["globalThis","self","top","parent","frames","fetch","XMLHttpRequest","eval","Function","require","importScripts","process"],oi=new Array(si.length).fill(void 0);function ai(t){try{!function(t){for(const e of ii)if(e.test(t))throw new Error(`Blocked pattern detected: ${e}`)}(t);const e=new Function("value","targets","scene",...si,t);return function(t,n){try{return e.call(this,t,n,globalThis.scene,...oi)}catch(t){return void Rr(t)}}}catch(t){return Rr(t),ri}}function ci(t,e,n,r,i){switch(n){case"value":return"text"===i||"string"===i?Qr.bind(t):"number"===i?Jr.bind(t):Zr.bind(e);case"map":return ti.bind(t);case"range":return ei.bind(t);case"radian":return ni.bind(t);case"eval":return ai(r).bind(e);default:return Zr.bind(e)}}class li{constructor(t,e){this.owner=e,this.model=t}dispose(){this._model=null,this.owner=null,this.evaluator=null,this.accessor=null}get model(){return this._model}set model(t){const{target:e,property:n,rule:r,param:i,accessor:s}=t;this._model=t,this.evaluator=ci(this,this.owner,r,i,function(t){switch(t){case"ref":case"fillStyle":case"strokeStyle":return"string";default:return}}(n)),this.accessor=Xr(s);const o=e.match(/\[(.*?)\]/);if(o){const[t,e]=o[1].split(":");this.propAccessor=Xr(t),this.partAccessor=Xr(e)}}get target(){return this.model.target}get property(){return this.model.property}get source(){return this.model.source}get param(){return this.model.param}get ndnsp(){return!!this.model.ndnsp}get partial(){return!!this.model.partial}}function hi(t,e,n,r){r?t.forEach(t=>t[e]={...t[e],...n}):t.forEach(t=>t[e]=n)}function ui(t=!1){(t||void 0!==this.data)&&this.mappings&&this.mappings.forEach(t=>{try{let e,{source:n,target:r,property:i,accessor:s,propAccessor:o,partAccessor:a,ndnsp:c=!1,partial:l=!1}=t;n&&"(self)"!=n?(n.startsWith("#")&&(n=n.substring(1)),e=this.root.findById(n)?.data||{}):e=this.data;const h=s(e);if(r=r.trim(),"(root)"==r||"(key)"==r){if(null==h)return;const e=Object.keys(h||{}).map(t=>this.root.findOrCreate(t)).filter(Boolean).flat();e.length>0&&e.forEach(e=>{const n=t.evaluator(h[e.get("id")],[e]);!i||"(action)"===i||c&&!n&&0!==n&&!1!==n||(e[i]=l?{...e[i],...n}:n)})}else if(r.startsWith("[")){if(null==h)return;if(h instanceof Array)h.forEach(e=>{const n=o(e);if(n){const r=this.root.findOrCreate(n);if(r){const n=t.evaluator(a(e),r);!i||"(action)"===i||c&&!n&&0!==n&&!1!==n||hi(r,i,n,l)}}});else{if(!(h instanceof Object))throw String("mapping data should be an object to target property-id.("+h+")");{const e=o(h);if(e){const n=this.root.findOrCreate(e);if(n){const e=t.evaluator(a(h),n);!i||"(action)"===i||c&&!e&&0!==e&&!1!==e||hi(n,i,e,l)}}}}}else{const e=this.root.findAll(r,this);if(e.length>0){const n=t.evaluator(h,e);!i||"(action)"===i||c&&!n&&0!==n&&!1!==n||hi(e,i,n,l)}}}catch(e){Rr(e,this,t)}})}function di(t,e){this.state.persistent&&this.app?.isViewMode&&this.app?.dataStorage.save(this,t.data),ui.call(this,!0)}function pi(){if(this._model.mappings)return this._model.mappings instanceof Array?void(this._mappings=(this._model.mappings||[]).filter(t=>t.rule&&t.target).map(t=>new li(t,this))):(Rr("Mappings model is invalid (should be a Array) ..",this._model.mappings),void(this._mappings=[]));this._mappings=[]}function fi(){this._mappings&&this._mappings.forEach(t=>t.dispose()),delete this._mappings}function gi(t,e){this.disposeMappings(),ui.call(this)}function mi(t,e,n,r,i,s){e.complete?t.drawImage(e,n,r,i,s):e.addEventListener("load",()=>{this.invalidate()})}function yi(t){const{effects:e}=this.state;(e||[]).forEach(e=>{this.effect(t,e)})}const bi={},vi={VIEW:0,EDIT:1,SHIFT:2,ADD:3},xi="undefined"==typeof window?1:window.devicePixelRatio||(window.matchMedia&&window.matchMedia("(min-resolution: 2dppx), (-webkit-min-device-pixel-ratio: 1.5),(-moz-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)").matches?2:1),_i=["mousemove","mouseup","mousedown","mouseout","wheel","touchstart","touchmove","touchend","dblclick"],wi=["keydown","keyup"],Ai={ALPHA:1,FONT_SIZE:15,FONT_FAMILY:"Roboto, sans-serif",FONT_COLOR:"black",TEXT_ALIGN:"center",TEXT_BASELINE:"middle",TEXT_WRAP:!1,BOLD:!1,ITALIC:!1,STROKE_STYLE:"#999",LINE_DASH:"solid",LETTER_SPACING:0},Si=()=>{if("undefined"==typeof document||"function"!=typeof getComputedStyle||!document.documentElement)return;const t=getComputedStyle(document.documentElement);if(!t)return;const e=t.getPropertyValue?.("--scene-theme-font-family")?.trim(),n=t.fontFamily||"sans-serif";Ai.FONT_FAMILY=e||n},Mi=()=>{if("undefined"!=typeof window&&"undefined"!=typeof document&&(window.addEventListener("load",()=>{Si()}),"fonts"in document&&"ready"in document.fonts&&document.fonts.ready.then(Si),"undefined"!=typeof MutationObserver&&document.documentElement)){new MutationObserver(()=>{Si()}).observe(document.documentElement,{attributes:!0,attributeFilter:["style","class"]})}};let Ei;function ki(t,e,n,r,i){const{alpha:s=1}=r,o=i.fillStyle;if(t.globalAlpha*=s,o)if("string"==typeof o)t.fillStyle=o,t.fill();else if("object"==typeof o)if("gradient"==o.type){t.translate(n.x,n.y);let r,{width:i,height:s}=e;if("linear"==o.gradientType){const e=3.141592653589793,n=o.rotation;if(n>=.436332&&n<=1.13446||n>=2.00713&&n<=2.70526||n>=3.57792&&n<=4.27606||n>=5.14872&&n<=5.84685){let o=Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((s-4)/2,2));o-=o-(i+s)/3,r=t.createLinearGradient(o*Math.cos(n+e),o*Math.sin(n+e),o*Math.cos(n),o*Math.sin(n))}else r=t.createLinearGradient((i-4)/2*Math.cos(n+e),(s-4)/2*Math.sin(n+e),(i-4)/2*Math.cos(n),(s-4)/2*Math.sin(n))}else if("radial"==o.gradientType){const e=.95*Math.sqrt(Math.pow((i-4)/2,2)+Math.pow((s-4)/2,2));switch(o.center){case"center":default:r=t.createRadialGradient(0,0,0,0,0,e);break;case"left-top":r=t.createRadialGradient(-i/2,-s/2,0,-i/2,-s/2,2*e);break;case"right-top":r=t.createRadialGradient(i/2,-s/2,0,i/2,-s/2,2*e);break;case"left-bottom":r=t.createRadialGradient(-i/2,s/2,0,-i/2,s/2,2*e);break;case"right-bottom":r=t.createRadialGradient(i/2,s/2,0,i/2,s/2,2*e)}}o.colorStops.forEach(t=>{if(t.position>=0&&t.position<=1)try{r.addColorStop(t.position,t.color)}catch(e){Lr("Invalid Color for colorstop : ",t.color),r.addColorStop(t.position,"#fff")}}),t.fillStyle=r,t.fill(),t.translate(-n.x,-n.y)}else if("pattern"==o.type&&o.image)if(o.guideOnly&&1!=i.app.mode)o.color&&(t.fillStyle=o.color,t.fill());else{i.prepareFillIf(!i._pattern_image_origin);const n=i._pattern_image;if(!n)return;let r=0,s=0,a=0,c=0,l=e.left,h=e.top;if(!o.fitPattern){r=o.offsetX,s=o.offsetY;const t=o.width?o.width:n.width,i=o.height?o.height:n.height;switch(o.align){case"center":a=e.width/2-t/2,c=e.height/2-i/2;break;case"left-top":a=0,c=0;break;case"left-bottom":a=0,c=e.height-i;break;case"right-top":a=e.width-t,c=0;break;case"right-bottom":a=e.width-t,c=e.height-i;break;case"left":a=0,c=e.height/2-i/2;break;case"right":a=e.width-t,c=e.height/2-i/2;break;case"top":a=e.width/2-t/2,c=0;break;case"bottom":a=e.width/2-t/2,c=e.height-i}l+=r+a,h+=s+c}t.translate(l,h),o.color&&(t.fillStyle=o.color,t.fill()),o.fitPattern?Math.abs((n.width-e.width)*(n.height-e.height))>1?(delete i._pattern_image,delete i._pattern_image_origin):t.fillStyle=t.createPattern(n,"no-repeat"):t.fillStyle=t.createPattern(n,o.noRepeat?"no-repeat":"repeat"),t.fill(),t.translate(-l,-h)}}function Ci(t,e){const n=this.fillStyle;if(!n||"pattern"!=n.type||!n.image)return void t(this);if("string"!=typeof n.image)return this._pattern_image_origin=this._pattern_image=n.image,void t(this);this._pattern_image=null,this._pattern_image_origin=new Image;const r=this;this._pattern_image_origin.onload=function(){if(!n.fitPattern&&!n.width&&!n.height)return r._pattern_image=r._pattern_image_origin,void t(this);let e=n.width||this.width,i=n.height||this.height;n.fitPattern&&(e=r.bounds.width,i=r.bounds.height);const s=Ei(e,i);s.getContext("2d").drawImage(this,0,0,this.width,this.height,0,0,e,i),r._pattern_image=s,t(this)},this._pattern_image_origin.onerror=function(t){e(t)};try{"data"!==String(n.image).substring(0,4)?this._pattern_image_origin.crossOrigin="use-credentials":this._pattern_image_origin.crossOrigin=null,this._pattern_image_origin.src=this.app.url(n.image)}catch(t){e(t)}}function Ti(t){t&&this.prepareFill(t=>{this.invalidate()},t=>{Rr(t)})}function Pi(t,e){const n=this.fillStyle;n&&"pattern"!==n.type?this._pattern_image&&(this._pattern_image=null,this._pattern_image_origin=null):n?.image&&this.prepareFillIf(n.image)}function Oi(t,e,n){let{strokeStyle:r,lineDash:i,lineWidth:s,lineCap:o,lineJoin:a,alpha:c}=e;if(r&&0!=s){if(o&&(t.lineCap=o),i){const e="round"==o;switch(i){case"solid":i=[0,0];break;case"round-dot":i=e?[0,2*s]:[s,s];break;case"square-dot":i=e?[s,2*s]:[2*s,s];break;case"dash":i=e?[3*s,2.5*s]:[4*s,1.5*s];break;case"dash-dot":i=e?[3*s,3*s,0,3*s]:[4*s,2*s,s,2*s];break;case"long-dash":i=e?[5*s,4*s]:[6*s,3*s];break;case"long-dash-dot":i=e?[5*s,3*s,0,3*s]:[6*s,2*s,s,2*s];break;case"long-dash-dot-dot":i=e?[5*s,2*s,0,2*s,0,2*s]:[6*s,s,s,s,s,s]}t.setLineDash(i)}t.globalAlpha*=c,t.strokeStyle=r,t.lineWidth=s,t.lineJoin=a,t.stroke()}}function Di(t){const e=/(\*\*|__)(.*?)\1|(\*|_)(.*?)\3|([^\*_]+)/g,n=[];let r;for(;null!==(r=e.exec(t));)r[1]?n.push({text:r[2],bold:!0,italic:!1}):r[3]?n.push({text:r[4],bold:!1,italic:!0}):r[5]&&n.push({text:r[5],bold:!1,italic:!1});return n}function ji(t,e,n,r=0){if(e.text.length<2)return e;let i=2;for(;i<e.text.length;i++){const s=e.text.substring(0,i);if(!(t.measureText(s).width+(i-1)*r<n))break}return{...e,text:e.text.substring(0,i-1)}}function Ii(t,e,n,r,i,s=0){const o=String(e).split("\n");return r?[].concat(...o.map(e=>function(t,e,n,r=0){const i=[];let s=[],o=0;return e.forEach(e=>{let a=e.text;for(;a.length>0;){const c=n-o,l=t.measureText(a).width+(a.length-1)*r;if(l<=c)s.push({...e,text:a}),o+=l,a="";else{const n=ji(t,{...e,text:a},c,r);s.push(n),i.push(s),s=[],o=0,a=a.substring(n.text.length)}}}),s.length>0&&i.push(s),i}(t,i?Di(e):[{text:e,bold:!1,italic:!1}],n,s))):o.map(t=>i?Di(t):[{text:t,bold:!1,italic:!1}])}function zi(t,e,n,r,i,s,o=0){if(!r)return[];t.save(),t.font=n;const a=Ii(t,r,e,!!i,s,o);return t.restore(),a}function Ri(t){const{fontFamily:e=Ai.FONT_FAMILY,bold:n=Ai.BOLD,italic:r=Ai.ITALIC,fontSize:i=Ai.FONT_SIZE}=t,s=[];return n&&s.push("bold"),r&&s.push("italic"),s.push(i+"px"),s.push(e),s.join(" ")}function Li(t,e){const n=t.bold||e.bold,r=t.italic||e.italic;return Ri({...t,bold:n,italic:r})}function Fi(t,e,n,r){let{alpha:i,rotation:s,keepTextAngle:o=!1,fontColor:a=Ai.FONT_COLOR,textAlign:c=Ai.TEXT_ALIGN,textBaseline:l=Ai.TEXT_BASELINE,textBackgroundStyle:h,fontSize:u,lineHeight:d,textWrap:p,textOverflow:f,letterSpacing:g=0}=r;i=void 0!==i?i:1,u||=Ai.FONT_SIZE,d||=1.2*u,t.save();const{left:m,top:y,width:b,height:v}=e;if(s&&o&&(t.translate(m+b/2,y+v/2),t.rotate(-s),t.translate(-(m+b/2),-(y+v/2))),t.beginPath(),t.font=Ri(r),!p&&f){const e=function(t,e,n,r){const i="ellipsis"===t?"…":"",s=e.measureText(i).width,o=[];let a=0;for(const i of n){const n=[];for(const c of i){const i=e.measureText(c.text).width;if(!(a+i<=r-("ellipsis"===t?s:0))){const i=Ni(e,c,r-a-("ellipsis"===t?s:0),t);return n.push(i),o.push(n),o}n.push(c),a+=i}o.push(n),a=0}return o}(f,t,n,b);n=e}const x=n.length*d;let _;switch(l){case"top":_=y,t.textBaseline="top";break;case"bottom":_=y+v-x+d,t.textBaseline="bottom";break;default:_=y+v/2-x/2+d/2,t.textBaseline="middle"}t.globalAlpha*=i,t.fillStyle=a,n.forEach((e,i)=>{const s=_+i*d,o=function(t,e,n,r=0){return e.reduce((e,i)=>(t.font=Li(n,i),e+t.measureText(i.text).width+r*(i.text.length-1)),0)}(t,e,r,g);let l=m;switch(c){case"left":case"justify":l=m;break;case"right":l=m+b-o;break;case"center":l=m+(b-o)/2}if(h&&(t.fillStyle=h,function(t,e,n,r,i,s=0,o=!1,a=!0){s="number"==typeof s?{tl:s,tr:s,br:s,bl:s}:{tl:0,tr:0,br:0,bl:0,...s},t.beginPath(),t.moveTo(e+s.tl,n),t.lineTo(e+r-s.tr,n),t.quadraticCurveTo(e+r,n,e+r,n+s.tr),t.lineTo(e+r,n+i-s.br),t.quadraticCurveTo(e+r,n+i,e+r-s.br,n+i),t.lineTo(e+s.bl,n+i),t.quadraticCurveTo(e,n+i,e,n+i-s.bl),t.lineTo(e,n+s.tl),t.quadraticCurveTo(e,n,e+s.tl,n),t.closePath(),o&&t.fill(),a&&t.stroke()}(t,l-4,s-u/2-4,o+8,u+8,4,!0,!1),t.fillStyle=a),"justify"===c&&i<n.length-1&&e.length>1){const n=b-o,i=e.length-1,a=n/i;e.forEach((e,n)=>{t.font=Li(r,e),t.fillText(e.text,l,s),l+=t.measureText(e.text).width+(n<i?a:0)})}else e.forEach(e=>{t.font=Li(r,e),[...e.text].forEach(e=>{t.fillText(e,l,s),l+=t.measureText(e).width+g})})}),t.restore()}function Ni(t,e,n,r){let i="";for(let r=0;r<e.text.length;r++){const s=i+e.text[r];if(t.measureText(s).width>n)break;i=s}return{...e,text:i+("ellipsis"===r?"…":"")}}function Bi(t,e){for(let n=0;n<t.length;n++)if(t[n].type.startsWith("image/"))return void this.set("fillStyle",{type:"pattern",image:e[n],fitPattern:!0})}Mi(),Si(),Ei="undefined"==typeof document?function(t,e){return new Canvas(t,e)}:function(t,e){const n=document.createElement("canvas");return n.width=t,n.height=e,n};const Gi=[];function Yi(t,e,n={x:0,y:0},r=0,i={x:1,y:1}){const s=Math.cos(-r),o=Math.sin(-r);return{x:((t-=n.x)*s-(e-=n.y)*o+n.x)/i.x,y:(t*o+e*s+n.y)/i.y}}function Ui(t,e,n={x:0,y:0},r=0,i={x:1,y:1}){const s=Math.cos(r),o=Math.sin(r);return{x:((t-=n.x)*s-(e-=n.y)*o+n.x)*i.x,y:(t*o+e*s+n.y)*i.y}}function Hi(t,e,n){if(!this.parent)return{x:t,y:e};const{rotation:r=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){const n=this.state.translate,s=Yi(t,e,n,r,i);return n&&(s.x-=n.x/i.x,s.y-=n.y/i.y),s}const s=Yi(t,e,n=n||this.rotatePoint,r,i);return{x:s.x+(n.x-n.x/i.x),y:s.y+(n.y-n.y/i.y)}}function Wi(t,e,n){if(!this.parent)return{x:t,y:e};let{rotation:r=0,scale:i={x:1,y:1}}=this.state;if(this.isLayer()){const n=this.state.translate,s=Ui(t,e,void 0,r+(this._delta?.theta??0),i);return n&&(s.x+=n.x,s.y+=n.y),s}n=n||this.rotatePoint;const{theta:s=0,tx:o=0,ty:a=0,sx:c=1,sy:l=1}=this._delta||{};n={x:n.x+o,y:n.y+a},i={x:i.x*c,y:i.y*l};const h=Ui(t+o,e+a,n,r+s,i);return{x:h.x-(n.x*i.x-n.x),y:h.y-(n.y*i.y-n.y)}}function Vi(t,e,n){n=n||this.rootModel;const r=this.transcoordS2T(t,e,n);return Ui(r.x,r.y,void 0,(n.get("rotation")||0)+n._delta.theta)}function $i(t,e,n){n=n||this.rootModel,Gi.length=0;for(let t=this.parent;t&&t!==n;t=t.parent)Gi.push(t);let r=this.transcoordS2P(t,e);for(let t=0;t<Gi.length;t++){const e=Gi[t],{scale:n}=e.model,i=e.bounds;if(n){const t=e.rotatePoint;r.x+=(t.x-i.left)*n.x,r.y+=(t.y-i.top)*n.y}else r.x+=i.left,r.y+=i.top;r=e.transcoordS2P(r.x,r.y)}return r}function Xi(t,e,n){n=n||this.rootModel,Gi.length=0;for(let t=this.parent;t&&t!==n;t=t.parent)Gi.push(t);let r={x:t,y:e};for(let t=Gi.length-1;t>=0;t--){const e=Gi[t],{scale:n}=e.model;r=e.transcoordP2S(r.x,r.y);const i=e.bounds;if(n){const t=e.rotatePoint;r.x-=(t.x-i.left)/n.x,r.y-=(t.y-i.top)/n.y}else r.x-=i.left,r.y-=i.top}return r}function qi(t,e,n){const r=this.transcoordT2P(t,e,n);return this.transcoordP2S(r.x,r.y)}function Ki(t,e,n){const r=this.rootModel,i=this.transcoordS2T(t,e,r);return n.transcoordT2S(i.x,i.y,r)}function Zi(t,e,n){if(!n)for(n=this;n&&!n.isLayer();)n=n.parent;const{translate:r={x:0,y:0},scale:i={x:1,y:1},rotation:s=0}=n.model,o=Yi(t,e,r,s,i);return r&&(o.x-=r.x/i.x,o.y-=r.y/i.y),n===this?o:this.transcoordT2S(o.x,o.y,n)}function Qi(t,e,n){if(!n)for(n=this;n&&!n.isLayer();)n=n.parent;let r;if(r=n!==this?this.transcoordS2T(t,e,n):{x:t,y:e},!this.scalable)return r;const{translate:i={x:0,y:0},rotation:s=0,scale:o={x:1,y:1}}=n.model;return r=Ui(r.x,r.y,void 0,s+n._delta.theta,o),i&&(r.x+=i.x,r.y+=i.y),r}function Ji(t){const e=t.element,n=t.fillStyle,r=e.style;if(n)if("string"==typeof n)r.backgroundColor=n;else switch(n.type){case"pattern":if(r.backgroundImage="url("+n.image+")",r.backgroundColor="transparent",n.fitPattern?r.backgroundSize="100% 100%":n.width||n.height?r.backgroundSize=`${n.width?n.width+"px":"auto"} ${n.height?n.height+"px":"auto"}`:r.backgroundSize="contain",n.fitPattern)r.backgroundRepeat="no-repeat";else{const{offsetX:t,offsetY:e,noRepeat:i,align:s,color:o}=n;if(i&&(r.backgroundRepeat="no-repeat"),o&&(r.backgroundColor=o),s)switch(s){case"center":r.backgroundPosition="center center";break;case"left-top":r.backgroundPosition="left top";break;case"left-bottom":r.backgroundPosition="left bottom";break;case"right-top":r.backgroundPosition="right top";break;case"right-bottom":r.backgroundPosition="right bottom";break;case"left":r.backgroundPosition="left center";break;case"right":r.backgroundPosition="right center";break;case"top":r.backgroundPosition="center top";break;case"bottom":r.backgroundPosition="center bottom"}else t||e?r.backgroundPosition=`${Number(t)||0}px ${Number(e)||0}px`:delete r.backgroundPosition}break;case"gradient":r.background=function(t,e){const n=e.colorStops,r=e.gradientType;if(n instanceof Array&&n.length>0)switch(r){case"radial":return"radial-gradient(farthest-corner at "+function(t,e){const{width:n,height:r}=t.bounds;switch(e){case"center":return[n/2,r/2];case"left-top":return[0,0];case"right-top":return[n,0];case"left-bottom":return[0,r];default:return[n,r]}}(t,e.center||"center").map(t=>t+"px").join(" ")+","+n.map(t=>`${t.color} ${100*t.position}%`).join(",")+")";case"linear":return"linear-gradient("+(180*(e.rotation||0)/3.141592653589793+90+"deg")+", "+n.map(t=>`${t.color} ${100*t.position}%`).join(",")+")"}return""}(t,n)}else r.background="transparent"}const ts={x:1,y:1},es={boxSizing:"border-box",margin:"0px",position:"absolute",outline:"none"};function ns(t){let{id:e,scale:n=ts,bold:r,italic:i,fontFamily:s="",textAlign:o,textBaseline:a,textOverflow:c,paddingTop:l,paddingBottom:h,paddingLeft:u,paddingRight:d,fontSize:p=Ai.FONT_SIZE,lineWidth:f=0,lineHeight:g,lineDash:m}=t.state;h||=0,l||=0,u||=0,d||=0;const y=t.state.class,{strokeStyle:b,rotation:v=0,fontColor:x,hidden:_}=t,{left:w,top:A,width:S,height:M}=t.bounds,E=t.element;if(E.hidden=_,e&&(E.id=e),y&&(E.className=y),Object.assign(E.style,es,{fontFamily:s,fontSize:p+"px",width:S+"px",height:M+"px",paddingTop:l+"px",paddingRight:d+"px",paddingBottom:h+"px",paddingLeft:u+"px",border:f+"px",borderColor:b,borderStyle:f>0?m||Ai.LINE_DASH:"",color:x,fontWeight:r?"bold":"",fontStyle:i?"italic":"",textAlign:"end"==o?"right":"start"==o?"left":o,verticalAlign:a,lineHeight:void 0===g?"":g+"px",whiteSpace:c?"nowrap":"",overflow:c?"hidden":"",textOverflow:c||""},t.isIn3DSpace()?{}:{left:w+"px",top:A+"px"}),Ji(t),function(t){if(!t.isShadowable()||!t.state.shadow)return;const e=t.element,{left:n=0,top:r=0,blurSize:i=0,color:s="transparent"}=t.state.shadow;e.style.boxShadow=`${n}px ${r}px ${i}px ${s}`}(t),t.isIn3DSpace())return;const k=t.delta(),C=(n&&n.x||1)*k.sx,T=(n&&n.y||1)*k.sy,P=(v||0)+k.theta,O=k.tx||0,D=k.ty||0;E.style.transform=`rotate(${P}rad) translate(${O}px, ${D}px) scale(${C}, ${T}) perspective(1px)`}function rs(t,e){let n=this.bounds,r=this.rotatePoint;const i=this.get("rotation"),s=this.get("scale");if(t){const r=t.call(e,n);r&&(n=r)}const{left:o,top:a,width:c,height:l}=n;let h=[{x:o,y:a},{x:o+c,y:a+l}];h=h.map(t=>Ui(t.x,t.y,r,i,s));let u=h[0],d=h[1];r={x:(u.x+d.x)/2,y:(u.y+d.y)/2},h=h.map(t=>Yi(t.x,t.y,r,i,s)),u=h[0],d=h[1],this.bounds={left:u.x,top:u.y,width:d.x-u.x,height:d.y-u.y}}function is(t,e,n){let r=this.path,i=this.rotatePoint;this.get("rotation"),this.get("scale"),t&&(r=t.call(n,r));let s=r.map(t=>this.toParent(t.x,t.y));if(e){const t=e.call(n,s);t&&(s=t)}const o={x:0,y:0};let a,c,l,h;r=s.map(t=>this.fromParent(t.x,t.y,o)),a=c=r[0].x,l=h=r[0].y;for(let t=1;t<r.length;t++){const e=r[t];e.x<a?a=e.x:e.x>c&&(c=e.x),e.y<l?l=e.y:e.y>h&&(h=e.y)}i={x:(a+c)/2,y:(l+h)/2},i=this.toParent(i.x,i.y,o),this.path=s.map(t=>this.fromParent(t.x,t.y,i))}let ss,os=[];function as(){ss=null;const t=performance.now();os=os.filter(t=>cs(t));const e=os.reduce((e,n)=>{const r=t-n.updatedAt;return r>=n.retention?e.kills.push(n):e.next=0==e.next?n.retention-r:Math.min(e.next,n.retention-r),e},{next:0,kills:[]});e.kills.forEach(t=>{const e=os.indexOf(t);-1!=e?(os.splice(e,1),t.removeSelf(!0)):Rr("Should not be here. Maybe reentrance problem.")}),e.next>0&&(ss=setTimeout(ls,Math.max(e.next,500)))}function cs(t){return!t.disposed&&t.retention>0&&!t.isTemplate()&&t.app&&t.app.isViewMode}const ls=Qn(function(){requestAnimationFrame(as)},500);var hs=new class{add(t){cs(t)&&-1==os.indexOf(t)&&(os.push(t),t.touch()),this.touch()}remove(t){const e=os.indexOf(t);e>0&&os.splice(e,1),this.touch()}touch(){null!==ss&&(clearTimeout(ss),ss=null),ls()}dispose(){ls.cancel(),null!==ss&&(clearTimeout(ss),ss=null),os=[]}get length(){return os.length}};const us=function(t){return t};function ds(t){const e=t.indexOf("||");let n="",r="";-1!=e&&(n=t,r=t.substring(e+2,t.length-1).trim(),t=t.replace(t.substring(e,t.length-1),"").trim());const i=t.substr(2,t.length-3).trim().replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split(".").filter(t=>!!t.trim()),s=i.slice(1);return{defaultValue:r,match:t,originText:n||t,target:i[0],accessor:s.length>0?function(t){return s.reduce((t,e)=>t?t[e]:void 0,t)}:us}}function ps(t){if(!t)return;const e=String(t),n=(e.match(/#{(\S*)}/)||[]).map(t=>ds(t))[0];if(n)return n.accessor(this.getState(n.target));const r=(e.match(/\${[^}]*}/)||[]).map(t=>ds(t))[0];if(r){const t=this.root.findById(r.target);return r.accessor(this.getState(t))}return t}function fs(t,e){if(!t)return;const n=String(t),r=e||or,i=(n.match(/#{(\S*)}/gi)||[]).map(t=>ds(t)),s=(n.match(/\${[^}]*}/gi)||[]).map(t=>ds(t));if(0==i.length&&0==s.length)return n;let o=n;return i.forEach(t=>{const e=r(t.accessor(this.getState(t.target)));o=o.replace(t.match,void 0===e?"":e)}),s.forEach(t=>{const e=this.root.findById(t.target),n=r(t.accessor(e&&e.data));o=o.replace(t.match,void 0===n?"":n)}),o}function gs(t,e,n){if(!t)return;const r=n||or,i=String(t),s=(i.match(/#{[^}]*}/gi)||[]).map(t=>ds(t)),o=(i.match(/\${[^}]*}/gi)||[]).map(t=>ds(t));return 0!=s.length||0!=o.length?function(){let t=i;return s.forEach(n=>{const i=r(n.accessor(e.getState(n.target)));t=t.replace(n.originText,void 0===i?n.defaultValue||"":i)}),o.forEach(n=>{const i=e.root.findById(n.target),s=r(n.accessor(i&&i.data));t=t.replace(n.originText,void 0===s?n.defaultValue||"":s)}),t}:void 0}class ms{constructor(){}static registerDecorator(t,e){ms.constructors.set(t,e)}static create(t,e,n={},r){const i=ms.constructors.get(t);if(!i)throw new Error(`unknown decorator type: ${t}`);return new i(r,e,n)}}ms.constructors=new Map;class ys{constructor(){this.overlays=new WeakMap}static getInstance(){return ys.instance||(ys.instance=new ys),ys.instance}addOverlay(t){if(this.overlays.has(t))return!1;const e={element:t,registry:new Map};return this.overlays.set(t,e),!0}removeOverlay(t){if(!this.overlays.has(t))return!1;const e=this.overlays.get(t);for(const[n]of e.registry)this.removeFromOverlay(t,n);return this.overlays.delete(t),!0}addToOverlay(t,e,n,r={}){this.overlays.has(t)||this.addOverlay(t);const i=this.overlays.get(t);i.registry.has(e)||i.registry.set(e,new Map);const s=i.registry.get(e);s.has(n)&&s.get(n).stop();const o=ms.create(n,e,r,t);return s.set(n,o),o.start(),o}removeFromOverlay(t,e,n){if(!this.overlays.has(t))return;const r=this.overlays.get(t);if(!r.registry.has(e))return;const i=r.registry.get(e);let s=null;if(n){if(i.has(n))try{const t=i.get(n);s=n,t&&"function"==typeof t.stop&&t.stop(),i.delete(n)}catch(t){Rr(`데코레이터(${n}) 제거 중 오류:`,t)}}else{const t=Array.from(i.keys());for(const e of t)try{const t=i.get(e);t&&"function"==typeof t.stop&&t.stop(),i.delete(e)}catch(t){Rr(`데코레이터(${e}) 제거 중 오류:`,t)}s="_all_"}0===i.size&&r.registry.delete(e),!s||"data-spread"!==s&&"_all_"!==s||this.restartBorderAnimations(t,e)}restartBorderAnimations(t,e){if(!this.overlays.has(t))return;const n=this.overlays.get(t);for(const[t,r]of n.registry.entries()){if(e&&t===e)continue;const n=r.get("border-highlighting");if(n)try{"function"==typeof n.invalidate&&n.invalidate();const t=n;"function"==typeof t.startAnimations&&t.options&&t.options.animation&&t.startAnimations()}catch(t){Rr("애니메이션 재시작 중 오류:",t)}}}removeAllFromOverlay(t,e){if(!this.overlays.has(t))return;const n=this.overlays.get(t);if(e)for(const[r]of n.registry)this.removeFromOverlay(t,r,e);else{for(const[t,e]of n.registry)for(const t of e.values())t.stop();n.registry.clear()}}getDecoratorFromOverlay(t,e,n){const r=this.overlays.get(t);return r?.registry.get(e)?.get(n)}getDecoratorsFromOverlay(t,e){const n=this.overlays.get(t);return n&&n.registry.has(e)?Array.from(n.registry.get(e).values()):[]}updateInOverlay(t,e,n,r){const i=this.getDecoratorFromOverlay(t,e,n);i&&i.update(r)}invalidateOverlay(t){if(!this.overlays.has(t))return;const e=this.overlays.get(t),n=Array.from(e.registry.entries());for(const[e,r]of n){if(e.disposed){this.removeFromOverlay(t,e);continue}this.getDecoratorsFromOverlay(t,e).forEach(t=>{t.invalidate()})}}}function bs(t,e){return!1}function vs({x:t,y:e},...n){const r=this.path,i=t,s=e;this.path=r.map(t=>({x:t.x+i,y:t.y+s}))}function xs(t){const e=t??this.center.x,{rotation:n}=this.state,r=this.fillStyle;if(this.set("rotation",2*Math.PI-n),r&&"gradient"===r.type&&"linear"===r.gradientType){const t=Nn(r);t.rotation=(Math.PI-parseFloat(r.rotation||0))%(2*Math.PI),this.set("fillStyle",t)}this.path=this.path.map(t=>({x:2*e-t.x,y:t.y}))}function _s(t){this.symmetryX(),this.set("rotation",(Math.PI+this.model.rotation)%(2*Math.PI)),t&&this.move({x:0,y:2*(t-this.center.y)},!1)}function ws(t,e,n){if(n){const e=this.bounds,n=e.height/e.width;let r=t.width-e.width,i=t.height-e.height;r*n>i?i=r*n:r=i/n;let s=t.left-e.left,o=t.top-e.top;return 0!=s&&0!=o?(o=-i,s=-r):0!=s?s=-r:0!=o&&(o=-i),{left:e.left+s,top:e.top+o,width:e.width+r,height:e.height+i}}return t}function As(t,e){if(e||this.app.rotateStepForced){const e=this.app.rotateStep;return Math.floor((t+e/2)/e)*e}return t}function Ss(t){return function(t,e){const n=t.path.slice();if(!n||!n.length)return void Rr("path should not be empty");let r=1;const i=[];if(t.isLine()||n.push(n[0]),e<=0)return t.toScene(n[0].x,n[0].y);if(e>=1)return t.toScene(n[n.length-1].x,n[n.length-1].y);for(;n[r];){const t=n[r-1],e=n[r],s=e.x-t.x,o=e.y-t.y;i.push(Math.sqrt(s*s+o*o)),r++}const s=i.reduce(function(t,e){return t+e},0);r=0;let o=0;do{o+=i[r++]}while(o/s<e);o-=i[--r],e=(e-o/s)*(s/i[r]);const a=n[r%n.length],c=n[(r+1)%n.length],l=a.x+Math.round((c.x-a.x)*e),h=a.y+Math.round((c.y-a.y)*e);return t.toScene(l,h)}(this,t||0)}function Ms(){const t=this.path;let e,n,r,i;e=n=t[0].x,r=i=t[0].y;for(let s=1;s<t.length;s++){const o=t[s];o.x<e?e=o.x:o.x>n&&(n=o.x),o.y<r?r=o.y:o.y>i&&(i=o.y)}return{left:e,top:r,width:n-e,height:i-r}}function Es(t){const e=this.bounds;if(Math.round(100*t.width)/100==Math.round(100*e.width)/100&&Math.round(100*t.height)/100==Math.round(100*e.height)/100&&Math.round(100*t.left)/100==Math.round(100*e.left)/100&&Math.round(100*t.top)/100==Math.round(100*e.top)/100)return;const n=0==e.width?1:t.width/e.width,r=0==e.height?1:t.height/e.height;this.path=this.path.map(i=>({x:t.left+(i.x-e.left)*n,y:t.top+(i.y-e.top)*r}))}function ks(){const t=this.bounds;return{x:t.left+t.width/2,y:t.top+t.height/2}}function Cs(t){if(!t||isNaN(t.x)||isNaN(t.y))return;const e=this.center;if(Math.round(100*t.x)/100==Math.round(100*e.x)/100&&Math.round(100*t.y)/100==Math.round(100*e.y)/100)return;const n=t.x-e.x,r=t.y-e.y;this.path=this.path.map(t=>({x:t.x+n,y:t.y+r}))}function Ts(){const{x:t,y:e}=this.center;return{x:t,y:e,z:this.state.zPos}}function Ps(t){const{x:e,y:n,z:r}=t||{};this.center={x:e,y:n},isNaN(r)||this.setState("zPos",Number(r))}function Os(){const{rotationX:t,rotationY:e,rotation:n}=this.state;return{x:t,y:e,z:-n}}function Ds(t){const{x:e,y:n,z:r}=t;this.setState({rotationX:e,rotationY:n,rotation:-r})}function js(){const{width:t,height:e}=this.bounds,{depth:n}=this.state;return{width:t,height:e,depth:n}}function Is(t){const{width:e,height:n,depth:r}=t,{top:i,left:s}=this.bounds;this.bounds={top:i,left:s,width:e,height:n},this.setState("depth",r)}function zs(){return Rr("이 컴포넌트에 get path 가 구현되어있지 않음.",this),[]}function Rs(t){Rr("이 컴포넌트에 get path 가 구현되어있지 않음.",this)}function Ls(){return this.path}function Fs(){return this.center}function Ns(){return this.nature.mutable}function Bs(){return this.nature.resizable&&!this.stuck}function Gs(){return this.nature.rotatable&&!this.stuck}const Ys={x:1,y:1};function Us(t,e,n){const{left:r=0,top:i=0,blurSize:s=0,color:o="transparent"}=e,a=n.rootModel.get("scale")||Ys;t.shadowOffsetX=r*a.x*xi,t.shadowOffsetY=i*a.y*xi,t.shadowBlur=s*a.x*xi,t.shadowColor=o}function Hs(t){t.save(),this.prerender(t),this.render(t),this.postrender(t),t.restore()}function Ws(t){const e=this.rotatePoint,{scale:n,rotation:r,shadow:i,alpha:s}=this.state,o=(n&&n.x||1)*this._delta.sx,a=(n&&n.y||1)*this._delta.sy,c=(r||0)+this._delta.theta,{tx:l=0,ty:h=0}=this._delta,u=(s||1)-this._delta.fade;(l||h)&&t.translate(l,h),(1!=o||1!=a||c)&&(t.translate(e.x,e.y),1==o&&1==a||t.scale(o,a),c&&t.rotate(c),t.translate(-e.x,-e.y)),u&&(t.globalAlpha=u),i&&Us(t,i,this),this.app.isEditMode&&this.hidden&&(t.globalAlpha*=.5)}function Vs(t){}function $s(t){this.drawText(t)}function Xs(t,e){t(this)}function qs(t){t&&this.prepare&&this.prepare(t=>{this.invalidate()},t=>{Rr(t)})}function Ks(t){!this.textHidden&&this.text&&this.hasTextProperty&&Fi(t,this.textBounds,this.textLines(t),this.state)}function Zs(t,e){Oi(t,e?{...this.state,...e}:this.state)}function Qs(t,e){this.fillStyle&&"transparent"!=this.fillStyle&&(ki(t,this.bounds,this.center,e?{...this.state,...e}:this.state,this),function(t){t.shadowColor="transparent"}(t))}function Js(){return this.get("strokeStyle")}function to(t){this.set("strokeStyle",t)}function eo(){return this.getState("fillStyle")}function no(t){this.setState("fillStyle",t)}function ro(){return this.get("fontColor")}function io(t){this.set("fontColor",String(or(t)))}function so(){return this.getState("rotation")}function oo(t){this.setState("rotation",Number(or(t)))}function ao(){return this.app.isEditMode?["decotag","data-spread"]:[]}function co(){const{id:t,tag:e}=this.state;return(t?`#${t}`:"")+(e?`@${e}`:"")}function lo(){return this.getState("hidden")||!this.data&&0!==this.data&&this.getState("ndns")||this.isTemplate()}function ho(t){this.setState("hidden",t)}function uo(){return this.state.tag}function po(t){this.setState("tag",t)}function fo(){}function go(t){this.data instanceof Array?this.data=this.data.concat(t):this.data instanceof Object?this.data={...this.data,...t}:this.data??=t}function mo(){const t=this.getState("text");return null==t?"":String(t)}function yo(t){const{textWrap:e,supportMarkdown:n}=this.state;return zi(t||this.getContext(),this.textBounds.width,this.font,this.text,e,n)}function bo(){return Ri(this.model)}function vo(){const t=this.get("lineHeight");return t||1.2*this.fontSize}function xo(){return this._text_substitutor||(this._text_substitutor=gs(this.getState("text"),this,void 0)||this.defaultTextSubstitutor),this._text_substitutor}function _o(){const t=this.get("textFormat");return t?function(t,e){if(!t||isNaN(+e))return e;let n,r,i,s,o,a,c,l,h,u,d,p=t.length,f=t.search(/[0-9\-\+#]/),g=f>0?t.substring(0,f):"",m=t.split("").reverse().join(""),y=m.search(/[0-9\-\+#]/),b=p-y,v=t.substring(b,b+1),x=b+("."===v||","===v?1:0),_=y>0?t.substring(x,p):"";if(n=(e="-"===(t=t.substring(f,x)).charAt(0)?-e:+e)<0?e=-e:0,r=t.match(/[^\d\-\+#]/g),i=".",s=r&&r[1]&&r[0]||",",t=t.split("."),e=+(e=e.toFixed(t[1]&&t[1].length))+"",a=t[1]&&t[1].lastIndexOf("0"),l=e.split("."),(!l[1]||l[1]&&l[1].length<=a)&&(e=(+e).toFixed(a+1)),h=t[0].split(s),t[0]=h.join(""),o=t[0]&&t[0].indexOf("0"),o>-1)for(;l[0].length<t[0].length-o;)l[0]="0"+l[0];else 0===+l[0]&&(l[0]="");if((e=e.split("."))[0]=l[0],c=h[1]&&h[h.length-1].length,c){for(u=e[0],m="",b=u.length%c,p=u.length,x=0;x<p;x++)m+=u.charAt(x),!((x-b+1)%c)&&x<p-c&&(m+=s);e[0]=m}return e[1]=t[1]&&e[1]?"."+e[1]:"",r=e.join(""),"0"!==r&&""!==r||(n=!1),d="+"==t[0].substring(0,1)?n?"-":"+":n?"-":"",g+(d+r)+_}(t,this.textSubstitutor()):this.textSubstitutor()}function wo(t){delete this._text_substitutor;const e=or(t);this.setState("text",null==e?"":String(e))}function Ao(){let{paddingTop:t,paddingLeft:e,paddingRight:n,paddingBottom:r}=this.state;r||=0,t||=0,e||=0,n||=0;const{left:i,top:s,width:o,height:a}=this.bounds;return{left:i+e,top:s+t,width:Math.max(o-e-n,0),height:Math.max(a-t-r,0)}}function So(){return 0}function Mo(){return!!this._textHidden}function Eo(t){this._textHidden=!!t,this.invalidate()}function ko(){return!0}function Co(t){return t}function To(t){return Math.pow(t,2)}function Po(t){return 1-Math.sin(Math.acos(t))}function Oo(t,e={x:1.5}){return Math.pow(t,2)*((e.x+1)*t-e.x)}function Do(t){for(let e=0,n=1;;e+=n,n/=2)if(t>=(7-4*e)/11)return-Math.pow((11-6*e-11*t)/4,2)+Math.pow(n,2)}function jo(t,e={x:1.5}){return Math.pow(2,10*(t-1))*Math.cos(20*Math.PI*e.x/3*t)}var Io={linear:Co,quad:To,circ:Po,back:Oo,bounce:Do,elastic:jo},zo=Object.freeze({__proto__:null,back:Oo,bounce:Do,circ:Po,default:Io,elastic:jo,linear:Co,quad:To});function Ro(t){const{duration:e=1e3,easing:n,step:r=()=>{},onStart:i,onProgress:s,onComplete:o,options:a,repeat:c=!1,delta:l}=t;let h;h="string"==typeof l?zo[l]:l||Co,"out"===n?h=function(t,e){return function(n){return 1-t(1-n,e)}}(h,a):"inout"===n&&(h=function(t,e){return function(n){return n<.5?t(2*n,e)/2:(2-t(2*(1-n),e))/2}}(h,a));let u=!1,d=null;return{start:function(){if(u)return this;u=!0,i&&i();let t=0;const n=()=>{if(!u)return;0===t&&(t=performance.now());const i=(performance.now()-t)/e,o=c?i%1:Math.min(i,1);r(h(o,a)),s&&s(o),!(i>=1)||c&&u||(this.stop(),t=0),u&&(d=requestAnimationFrame(n))};return d=requestAnimationFrame(n),this},stop:function(){return u=!1,null!==d&&(cancelAnimationFrame(d),d=null),o&&o(),this}}}class Lo{constructor(t,e){this._started=!1,this._raf=null,this._timeout=null,this.client=t,this.config=e,this._started=!1;const{delta:n="linear",options:r,ease:i}=this.config;let s;s="string"==typeof n?Io[n]:n,this.delta="out"===i?function(t,e){return function(n){return 1-t(1-n,e)}}(s,r):"inout"===i?function(t,e){return function(n){return n<.5?t(2*n,e)/2:(2-t(2*(1-n),e))/2}}(s,r):s,this.init()}dispose(){this.stop(),delete this.client}init(){}start(){if(this._started)return;const{duration:t=2e3,delay:e=0,repeat:n=!1,interval:r=0,onComplete:i}=this.config;this._started=!0;let s=0,o=0;const a=()=>{if(this._raf=null,this._timeout=null,!this._started)return;0==s&&(s=performance.now(),this.client?.touch?.());const c=performance.now()-s,l=Math.max((c-e)%(t+r),0)/t,h=r<=0&&o>l;if(o=l,l>=1||h){if(this.step(1),this.client&&this.client.invalidate?.(),!n||!this._started)return this.stop(i),void(s=0);if(r>0)return void(this._timeout=setTimeout(()=>{this.step(0),this.client&&this.client.invalidate?.(),this._timeout=setTimeout(a,r/2)},r/2))}else this.step(this.delta(l)),this.client&&this.client.invalidate?.();this._raf=requestAnimationFrame(a)};this._raf=requestAnimationFrame(a)}stop(t){this._raf&&cancelAnimationFrame(this._raf),this._timeout&&clearTimeout(this._timeout),this._raf=null,this._timeout=null,this._started=!1,t?.()}step(t){}get started(){return this._started}set started(t){this.started!=!!t&&(t?this.start():this.stop())}}const Fo={rotation:class extends Lo{step(t){const{theta:e=6.28}=this.config;this.client.delta?.("theta",t*e)}},vibration:class extends Lo{step(t){const{theta:e=.2617993877991494}=this.config,n=4*e;let r=t*n;t<1/4?r*=-1:t<3/4?r-=2*e:r=n-r,this.client.delta?.("theta",r)}},heartbeat:class extends Lo{step(t){const{scale:e=1.3}=this.config,n=2*(e-1);let r;r=t<.5?1+n*t:1+(1-t)*n,this.client.delta?.({sx:r,sy:r})}},moving:class extends Lo{step(t){const{x:e=0,y:n=0}=this.config;this.client.delta?.({tx:t*e,ty:t*n})}},outline:class extends Lo{step(t){const{rideOn:e}=this.config;if(!e||!this.client)return;const n=this.client.root.findById(e);if(!n)return;let r={tx:0,ty:0};const i=this.client.delta("");i&&"object"==typeof i&&"tx"in i&&"ty"in i&&(r=i);const{tx:s,ty:o}=r,a=n.outline(t),{x:c,y:l}=this.client.center,h=this.client.toScene(c,l);this.client.delta({tx:a.x-h.x+s,ty:a.y-h.y+o})}},fade:class extends Lo{step(t){const{startAlpha:e=1,endAlpha:n=0}=this.config,r=Math.max(Math.min(e,n,1),0),i=2*(Math.min(Math.max(e,n,1),1)-r);let s;s=t<.5?i*t:(1-t)*i,this.client.delta?.("fade",s)}},waypoint:class extends Lo{start(){let{toComponent:t,fromComponent:e}=this.config;e||(e=t);const n=e.center,r=t.center,{x:i,y:s}=e.toScene(n.x,n.y),{x:o,y:a}=t.toScene(r.x,r.y),c=Math.atan2(a-s,o-i)+Math.PI/2;this.client.location={x:i,y:s},this.client.setState("rotation",c),super.start()}stop(){const{toComponent:t}=this.config;super.stop();const e=t.center,n=t.toScene(e.x,e.y);this.client.delta({tx:0,ty:0}),this.client.location=n}step(t){let{toComponent:e,fromComponent:n}=this.config;n||(n=e);const r=n.center,i=e.center,{x:s,y:o}=n.toScene(r.x,r.y),{x:a,y:c}=e.toScene(i.x,i.y),l=(a-s)*t,h=(c-o)*t;this.client.location={x:s+l,y:o+h}}}};function No(t,e){const n=e.type?Fo[e.type]:void 0;return n?new n(t,e):null}const Bo={gradation:function(t,e,n){const{subType:r,from:i,to:s,colors:o}=n;let a;switch(r){case"linear":default:a=e.createLinearGradient(i.x,i.y,s.x,s.y);break;case"radial":a=e.createRadialGradient(i.x,i.y,i.r,s.x,s.y,s.r)}o&&(o.forEach(function(t){a.addColorStop(t.endPoint,t.color)}),e.fillStyle=a,e.fill())},shadow:Us};function Go(t){return this._animate&&this._animate.stop(),this._animate=Ro(t),this._animate}function Yo(t,e){return function(t,e,n){const r=Bo[n.type];r&&r(t,e,n)}(this,t,e)}function Uo(...t){return JSON.stringify(this.hierarchy,...t)}function Ho(){delete this._model[""],"chartjs"!==this._model.type&&delete this._model.chart}function Wo(t){this.rootModel.closeScene(t)}function Vo(t,e){return t?"object"==typeof t?(this._delta={...this._delta,...t},this._delta):void 0!==e?(this._delta[t]=e,this._delta[t]):void 0:this._delta}function $o(){this.parent&&this.parent.invalidate()}function Xo(){const t=this.nature["value-property"]||"text";return"value"==t?this.getState("value"):this[t]}function qo(t){const e=this.nature["value-property"]||"text";"value"==e?this.setState("value",t):this[e]=t}function Ko(){return this.getState("data")}function Zo(t){this.setState("data",t),this.touch()}function Qo(t){const e=this.model.event?.tap;if(e){const{x:t,y:n}=this.center;this.rootModel?._doEventAction(e,this,!0,new MouseEvent("click",{clientX:t,clientY:n}))}}function Jo(){return!this._mappings&&this.parent&&this.buildMappings(),this._mappings}function ta(){return Number(this.get("retention"))||0}function ea(){if(this.app.isViewMode&&!this.isTemplate()){if(!this._animation){const t=this.state.animation;t&&t.oncreate&&(this._animation=No(this,t.oncreate))}return this._animation}}function na(){return!!this.animation?.started}function ra(t){this.animation&&(this.animation.started=t)}function ia(){}function sa(t,e,n,r){const i=e.get("class");if(!i)return!1;return(i.split(" ")||[]).indexOf(t.substr(1))>=0}function oa(t,e,n,r){return t==e.get("type")}function aa(t,e,n,r){if("(all)"==t)return!0;switch(t.charAt(0)){case"#":return function(t,e){return t.substring(1)==e.get("id")}(t,e);case".":return sa(t,e);case"(":return function(t,e,n,r){switch(t){case"(all)":return!0;case"(self)":return r===e;case"(root)":return!r.parent&&r===e;case"(descendant)":return r!==e;case"(child)":return r===e.parent;default:return!1}}(t,e,0,r);default:return oa(t,e)}}function ca(t,e,n,r,i,s){return t(e,n,r,i)&&s.push(n),n.components&&n.components.forEach(n=>{ca(t,e,n,r,i,s)}),s}function la(t,e,n,r){switch(t){case"(all)":return!0;case"(parent)":return n&&n.parent===e;case"(child)":case"(children)":return n&&n===e.parent;case"(sibling)":case"(siblings)":return n&&n.parent===e.parent&&n!==e;default:return!1}}function ha(t,e,n){if("(root)"==t)return[e];if("(self)"==t)return n?[n]:[];let r;switch(t.charAt(0)){case"#":const n=e.root.findAllById?.(t.substring(1));return n||[];case".":r=sa;break;case"(":r=la;break;default:r=oa}return ca(r,t,e,n,e,[])}function ua(t,...e){if(t(this,...e))return this}function da(t,...e){return"string"==typeof t?ha(t,this,e[0]||this):"function"==typeof t&&t(this,...e)?[this]:void 0}function pa(t,e,n){if(!this.capturable||n?.(this))return!1;const r=this.fromParent(t,e);return this.contains(r.x,r.y)?this:void 0}function fa(t){return this.anchors.find(e=>e.name===t)}function ga(t){return!0}function ma(t){return this._parent.getContext(t??this)}function ya(){return this.isRoot()?this:this.parent&&this.parent.root}function ba(){return this.isRootModel()?this:this.parent&&this.parent.rootModel}function va(){return this._parent}function xa(t){this._parent=t}function _a(){return this.nature.anchors||[]}function wa(){let t=this.position,e=this;for(;"static"===t&&e.parent;)e=e.parent,t=e.position;return"static"==t}function Aa(){return!!(this.parent&&this.parent.layout.isStuck(this)||this.get("locked"))}function Sa(){return!1!==this.get("capturable")&&(this.app.isEditMode||!this.hidden)}function Ma(){return this.app?.isViewMode&&this.isPositionable()?this.state.position??"static":"static"}function Ea(){return this.app&&this.app.isViewMode&&this.state.origin||""}function ka(){const{offsetX:t=0,offsetY:e=0}=this.state;return{x:t,y:e}}function Ca(){return!this._app&&this.parent&&(this._app=this.parent.app),this._app}const Ta={},Pa={mutable:!1,resizable:!0,rotatable:!0,properties:[],"value-property":"text"},Oa=[],Da=new Set(["data","text","value","source","accessor","mappings","variables","fillStyle","strokeStyle","fontColor","alpha","opacity","hidden","locked","hatched","started","animation","sensitive","event","src","href","url","class","templatePrefix"]),ja={theta:0,tx:0,ty:0,sx:1,sy:1,fade:0};let Ia=0;const za={};const Ra=new FinalizationRegistry(t=>{!function(t){Ia--;let e=za[t];e||(e=za[t]={up:0,down:0}),e.down++}(t)});class La{static get nature(){return Pa}static register(t,e){if(!e)return Ta[t];Ta[t]=e}static get residents(){return za}static get residentsCount(){return Ia}static registerDecorator(t,e){ms.registerDecorator(t,e)}constructor(t,e){this._app=e,this._model=t||{},this._state={},this._delta=Nn(ja),e&&this.animation?.config&&(1==this.animation.config.autoplay||(this.animation.config.autoplay??1))&&(this.animation.started=!0),this.clearCache(),hs.add(this),function(t){Ia++;let e=za[t];e||(e=za[t]={up:0,down:0}),e.up++}(this._model.type),Ra.register(this,this._model.type)}created(){}added(t){}removed(t){}async ready(){if(this.state.persistent){const{isViewMode:t,dataStorage:e}=this.app;t&&(this.data=await e.load(this))}}touch(){this.updatedAt=performance.now()}clearCache(...t){this._cachedState=null,function(t,...e){0==e.length?t.__cache__={}:e.forEach(e=>delete t.__cache__[e])}(this,...t)}removeSelf(t){t?this.dispose():this.parent?.removeComponent?.(this)}resetAnimation(){this._animation&&(this._animation.dispose(),this._animation=null,this._delta=Nn(ja))}dispose(){this.resetAnimation(),this.disposeMappings(),this.parent?.removeComponent?.(this),delete this._text_substitutor,delete this._value_substitutor,this._disposed=!0,this._realObject&&(this._realObject.dispose(),this._realObject=void 0),this.retention&&hs.touch(),this.clearCache(),delete this._app}get nature(){return this.constructor.nature}get disposed(){return!!this._disposed}isLayer(){return!1}isGroup(){return!1}isContainer(){return!1}isLine(){return!1}isRoot(){return!1}isRootModel(){return!1}is3dish(){return!1}get is3dMode(){return!1}isIn3DSpace(){return!!this._realObject}isTemplate(){return!!this.get("templatePrefix")}isHTMLElement(){return!1}isConnectable(){return!1}isIdentifiable(){return!0}isPositionable(){return this.parent?.isRootModel()}replaceRefids(t){}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});const n=this;return this._applyProps(this._model,t,{getBeforeVal:function(t){return n._model[t]},clearState:!0,sensitive:!1,beforeFillStyle:function(t,e){t.hasOwnProperty("retention")&&hs.add(n)},afterFillStyle:function(t,e){t.hasOwnProperty("mappings")&&n.onchangeMappings(t,e)}})}getState(t){return this._state.hasOwnProperty(t)?this._state[t]:this.get(t)}setState(t,e){if("string"==typeof t)return this.setState({[t]:e});const n=this;return this._applyProps(this._state,t,{getBeforeVal:function(t){return n.getState(t)},clearState:!1,sensitive:this.getState("sensitive")})}get model(){return this._model}get state(){return this._cachedState||(this._cachedState=Object.freeze(Object.assign({},this._model,this._state))),this._cachedState}get hierarchy(){const t=Nn(this._model);return this.volatile.forEach(e=>{delete t[e]}),t}get volatile(){return Oa}_applyProps(t,e,n){const r={},i={};let s=!1;const o=Nn(e),a=this;if(Object.getOwnPropertyNames(o).forEach(function(e){const c=n.getBeforeVal(e),l=o[e];!n.sensitive&&function(t,e){return be(t,e)}(c,l)||(i[e]=c,r[e]=l,t[e]=l,n.clearState&&delete a._state[e],s=!0)}),s){this._cachedState=null;Object.keys(r).some(t=>!Da.has(t))&&this.clearCache(),r.hasOwnProperty("text")&&delete this._text_substitutor,n.beforeFillStyle&&n.beforeFillStyle(r,i),r.hasOwnProperty("fillStyle")&&this.onchangeFill(r,i),n.afterFillStyle&&n.afterFillStyle(r,i),r.hasOwnProperty("data")&&this.onchangeData(r,i),this.onchange&&this.onchange(r,i),this.trigger("change",r,i)}return this}contains(t,e){return bs.call(this,t,e)}move(t,...e){vs.call(this,t,...e)}symmetryX(t){xs.call(this,t)}symmetryY(t){_s.call(this,t)}adjustResize(t,e,n){return ws.call(this,t,e,n)}adjustRotation(t,e){return As.call(this,t,e)}outline(t){return Ss.call(this,t)}get bounds(){return Ms.call(this)}set bounds(t){Es.call(this,t)}get center(){return ks.call(this)}set center(t){Cs.call(this,t)}get location(){return Ts.call(this)}set location(t){Ps.call(this,t)}get rotate(){return Os.call(this)}set rotate(t){Ds.call(this,t)}get dimension(){return js.call(this)}set dimension(t){Is.call(this,t)}get path(){return zs.call(this)}set path(t){Rs.call(this,t)}get drawPath(){return Ls.call(this)}get rotatePoint(){return Fs.call(this)}get mutable(){return Ns.call(this)}get resizable(){return Bs.call(this)}get rotatable(){return Gs.call(this)}buildRealObject(){}get realObject(){return this.disposed||this._realObject||(this._realObject=this.buildRealObject(),this._realObject&&(this._realObject.update(),this._realObject.updateTransform())),this._realObject}draw(t){t&&Hs.call(this,t)}prerender(t){Ws.call(this,t)}render(t){Vs.call(this,t)}postrender(t){$s.call(this,t)}prepare(t,e){Xs.call(this,t,e)}prepareIf(t){qs.call(this,t)}drawText(t){Ks.call(this,t)}drawStroke(t,e){Zs.call(this,t,e)}drawFill(t,e){Qs.call(this,t,e)}get strokeStyle(){return Js.call(this)}set strokeStyle(t){to.call(this,t)}get fillStyle(){return eo.call(this)}set fillStyle(t){no.call(this,t)}get fontColor(){return ro.call(this)}set fontColor(t){io.call(this,t)}get rotation(){return so.call(this)}set rotation(t){oo.call(this,t)}get decorators(){return ao.call(this)}get decotag(){return co.call(this)}get hidden(){return lo.call(this)}set hidden(t){ho.call(this,t)}get tag(){return uo.call(this)}set tag(t){po.call(this,t)}get appendum(){return fo.call(this)}set appendum(t){go.call(this,t)}defaultTextSubstitutor(){return mo.call(this)}textLines(t){return yo.call(this,t)}get font(){return bo.call(this)}get lineHeight(){return vo.call(this)}get textSubstitutor(){return xo.call(this)}get text(){return _o.call(this)}set text(t){wo.call(this,t)}get textBounds(){return Ao.call(this)}get textRotation(){return So.call(this)}get textHidden(){return Mo.call(this)}set textHidden(t){Eo.call(this,t)}get hasTextProperty(){return ko.call(this)}animate(t){return Go.call(this,t)}effect(t,e){return Yo.call(this,t,e)}serialize(...t){return Uo.call(this,...t)}trim(){Ho.call(this)}closeScene(t){Wo.call(this,t)}delta(t,e){return Vo.call(this,t,e)}invalidate(){$o.call(this)}get value(){return Xo.call(this)}set value(t){qo.call(this,t)}get data(){return Ko.call(this)}set data(t){Zo.call(this,t)}set tap(t){Qo.call(this,t)}get mappings(){return Jo.call(this)}get retention(){return ta.call(this)}get animation(){return ea.call(this)}get started(){return na.call(this)}set started(t){ra.call(this,t)}get controls(){return ia.call(this)}findFirst(t,...e){return ua.call(this,t,...e)}findAll(t,...e){return da.call(this,t,...e)}capture(t,e,n){return pa.call(this,t,e,n)}findAnchor(t){return fa.call(this,t)}isDescendible(t){return ga.call(this,t)}getContext(t){return ma.call(this,t)}get root(){return ya.call(this)}get rootModel(){return ba.call(this)}get parent(){return va.call(this)}set parent(t){xa.call(this,t)}get anchors(){return _a.call(this)}get scalable(){return wa.call(this)}get stuck(){return Aa.call(this)}get capturable(){return Sa.call(this)}get position(){return Ma.call(this)}get origin(){return Ea.call(this)}get offset(){return ka.call(this)}get app(){return Ca.call(this)}drawEffect(t){yi.call(this,t)}prepareFill(t,e){Ci.call(this,t,e)}prepareFillIf(t){Ti.call(this,t)}onchangeFill(t,e){Pi.call(this,t,e)}drawImage(t,e,n,r,i,s){mi.call(this,t,e,n,r,i,s)}mutateBounds(t,e){rs.call(this,t,e)}mutatePath(t,e,n){is.call(this,t,e,n)}access(t){return ps.call(this,t)}substitute(t,e){return fs.call(this,t,e)}onchangeMappings(t,e){gi.call(this,t,e)}onchangeData(t,e){di.call(this,t,e)}buildMappings(){pi.call(this)}executeMappings(t){ui.call(this,t)}disposeMappings(){fi.call(this)}ondropfile(t,e){Bi.call(this,t,e)}transcoordS2P(t,e,n){return Wi.call(this,t,e,n)}transcoordP2S(t,e,n){return Hi.call(this,t,e,n)}transcoordS2T(t,e,n){return $i.call(this,t,e,n)}transcoordT2P(t,e,n){return Xi.call(this,t,e,n)}transcoordT2S(t,e,n){return qi.call(this,t,e,n)}transcoordS2TR(t,e,n){return Vi.call(this,t,e,n)}transcoordS2O(t,e,n){return Ki.call(this,t,e,n)}transcoordC2S(t,e,n){return Zi.call(this,t,e,n)}transcoordS2C(t,e,n){return Qi.call(this,t,e,n)}toParent(t,e,n){return Wi.call(this,t,e,n)}fromParent(t,e,n){return Hi.call(this,t,e,n)}toScene(t,e,n){return $i.call(this,t,e,n)}fromScene(t,e,n){return qi.call(this,t,e,n)}toLocal(t,e,n){return Zi.call(this,t,e,n)}toGlobal(t,e,n){return Qi.call(this,t,e,n)}toOther(t,e,n){return Ki.call(this,t,e,n)}on(t,e,n){return Tr.call(this,t,e,n)}off(t,e,n){return Pr.call(this,t,e,n)}once(t,e,n){return Or.call(this,t,e,n)}trigger(t,...e){return Dr.call(this,t,...e)}delegate_on(t){return jr.call(this,t)}delegate_off(t){return Ir.call(this,t)}onchange(t,e){}removeComponent(t,e){}addComponent(t,e){}insertComponentAt(t,e,n){}getOverlay(t){}findById(t){}findByRefid(t){}findAllById(t){return[]}resize(){}fit(t){}get components(){}get layout(){}get auxOverlay(){}get isReady(){return!1}get unitScale(){return 1}get selected(){return[]}set selected(t){}get focused(){return null}set focused(t){}get hasSameParentForAllSelected(){return!1}set hasSameParentForAllSelected(t){}get fitMode(){}set fitMode(t){}get element(){return null}set element(t){}}La.union=function(t){let e=0,n=0,r=0,i=0,s=!1;return t.forEach(t=>{s?(e=Math.min(t.left,e),n=Math.min(t.top,n),r=Math.max(t.left+t.width,r),i=Math.max(t.top+t.height,i)):(e=t.left,n=t.top,r=t.left+t.width,i=t.top+t.height,s=!0)}),{left:e,top:n,width:r-e,height:i-n}},La.transcoordR=Yi,La.transcoordRR=Ui,La.createCanvas=Ei,La.memoize=Nr,La.mixin=zr,La.drawText=Fi,La.font=Ri,La.textLines=zi,La.drawStroke=Oi,La.drawFill=ki,La.reposition=ns,La.RetentionManager=hs,La.template=function(t,e,n){var r=ln.imports._.templateSettings||ln;n&&De(t,e,n)&&(e=void 0),t=on(t),e=Le({},e,r,qe);var i,s,o=Le({},e.imports,r.imports,qe),a=qt(o),c=function(t,e){return Ve(e,function(e){return t[e]})}(o,a),l=0,h=e.interpolate||gn,u="__p += '",d=RegExp((e.escape||gn).source+"|"+h.source+"|"+(h===Qe?fn:gn).source+"|"+(e.evaluate||gn).source+"|$","g"),p=yn.call(e,"sourceURL")?"//# sourceURL="+(e.sourceURL+"").replace(/\s/g," ")+"\n":"";t.replace(d,function(e,n,r,o,a,c){return r||(r=o),u+=t.slice(l,c).replace(mn,Ze),n&&(i=!0,u+="' +\n__e("+n+") +\n'"),a&&(s=!0,u+="';\n"+a+";\n__p += '"),r&&(u+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=c+e.length,e}),u+="';\n";var f=yn.call(e,"variable")&&e.variable;if(f){if(pn.test(f))throw new Error("Invalid `variable` option passed into `_.template`")}else u="with (obj) {\n"+u+"\n}\n";u=(s?u.replace(hn,""):u).replace(un,"$1").replace(dn,"$1;"),u="function("+(f||"obj")+") {\n"+(f?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(s?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+u+"return __p\n}";var g=We(function(){return Function(a,p+"return "+u).apply(void 0,c)});if(g.source=u,He(g))throw g;return g},La.buildSubstitutor=gs,["rotatePoint","font","lineHeight","retention"].forEach(t=>La.memoize(La.prototype,t,!1)),["bounds","center","textBounds"].forEach(t=>La.memoize(La.prototype,t,!0));class Fa extends La{set rotationX(t){this.setState("rotationX",t)}get rotationX(){return this.getState("rotationX")}set rotationY(t){this.setState("rotationY",t)}get rotationY(){return this.getState("rotationY")}set rotationZ(t){this.setState("rotation",t)}get rotationZ(){return this.getState("rotation")}set zPos(t){this.setState("zPos",t)}get zPos(){return this.getState("zPos")}set depth(t){this.setState("depth",t)}get depth(){return this.getState("depth")}postrender(t){this.drawFill(t,void 0),this.drawStroke(t,void 0),super.postrender(t)}render(t){const e=this.drawPath,{round:n=0}=this.state;if(!(e.length<=1)){t.beginPath();for(let r=0;r<e.length;r++){const i=e[(r-1+e.length)%e.length],s=e[(r+e.length)%e.length],o=e[(r+1)%e.length];if(i.x===s.x&&i.y===s.y)continue;let a=Math.sqrt((i.x-s.x)*(i.x-s.x)+(i.y-s.y)*(i.y-s.y)),c=0!==a?Math.atan2(i.x-s.x,i.y-s.y):0,l=Math.sin(c)*Math.min(n,a/2)+s.x,h=Math.cos(c)*Math.min(n,a/2)+s.y;const u=n>0||0!==a?{x:l,y:h}:s;a=Math.sqrt((o.x-s.x)*(o.x-s.x)+(o.y-s.y)*(o.y-s.y)),c=0!==a?Math.atan2(o.x-s.x,o.y-s.y):0,l=Math.sin(c)*Math.min(n,a/2)+s.x,h=Math.cos(c)*Math.min(n,a/2)+s.y;const d=n>0||0!==a?{x:l,y:h}:s;0==r?t.moveTo(u.x,u.y):t.lineTo(u.x,u.y),n>0&&t.quadraticCurveTo(s.x,s.y,d.x,d.y)}t.closePath()}}}function Na(t,e,n){return Math.max(0,Math.min(t,Math.min(n,e)/2))}function Ba(t){const e=class extends t{contains(t,e){const{left:n,top:r,width:i,height:s,lineWidth:o=0}=this.state,a=o/2;return t<Math.max(n+i,n)+a&&t>Math.min(n+i,n)-a&&e<Math.max(r+s,r)+a&&e>Math.min(r+s,r)-a}set path(t){const e=t[0],n=t[2];this.set({left:e.x,top:e.y,width:n.x-e.x,height:n.y-e.y})}get path(){const{left:t=0,top:e=0,width:n=0,height:r=0}=this.state;return[{x:t,y:e},{x:t+n,y:e},{x:t+n,y:e+r},{x:t,y:e+r}]}get anchors(){return function(t){const{left:e,top:n,width:r,height:i}=t.bounds,s=e+r/2,o=n+i/2;return[{name:"TOP",position:{x:s,y:n}},{name:"RIGHT",position:{x:e+r,y:o}},{name:"BOTTOM",position:{x:s,y:n+i}},{name:"LEFT",position:{x:e,y:o}}]}(this)}get bounds(){const{left:t=0,top:e=0,width:n=0,height:r=0}=this.state;return{left:t,top:e,width:n,height:r}}set bounds(t){this.set({left:0,top:0,width:0,height:0,...t})}render(t){let{round:e=0}=this.model;const{left:n,top:r,width:i,height:s}=this.bounds;t.translate(n,r),t.beginPath(),e=Na(e,i,s),e>0?t.roundRect(0,0,i,s,e):t.rect(0,0,i,s),t.translate(-n,-r)}};return Nr(e.prototype,"path",!1),Nr(e.prototype,"bounds",!0),e}const Ga={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"textarea",label:"front-side-template",name:"frontSideTemplate",property:{language:"html"}},{type:"textarea",label:"back-side-template",name:"backSideTemplate",property:{language:"html"}},{type:"textarea",label:"style",name:"style",property:{language:"css"}}],help:"scene/component/info-window"};const Ya=20;function Ua(t,e){const n=t.split(/\s+/),r=n.indexOf(e);return-1!=r?n.splice(r,1):n.splice(-1,0,e),n.join(" ")}class Ha extends(Ba(Fa)){static get image(){return Ha._image||(Ha._image=new Image,Ha._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAY1BMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIAbxiAAAAIHRSTlMA+gPshCwwWFzYCeLRm7QRG6rLeDZI9JOJJDtjb1HAf1sAT80AAAQQSURBVHhe7MCBAAAAAMKw/KkzOMG2BAAAAKeu3lUohIEggO7jQi5qHqpgwML5/6+0F0y02z31FlvMMLKt86QMQ1ined2Evih1hFFjLfRWjgzDOGZ6JSiM00B9EuHALtQxJLiQBmqSBCeSUEuEGzs1BDjSaHxWOKK5Eyz/4SoMV/hp4+vtcPkdwZD/udwevNg7t1xXYRiKmkB7C+ENlPLq8fxHeX+RGjWQ1D45ldcIulBIvCvYJGBEadyTzxAcfY57NBjpLScOO/bzugcTHe7IMwiSLMcdHZhocMcMgTLjjgZM7F1bCJZ2v27ARGzYDwIk2Z+JYGJ/iiwQLMv+JAEThjkmRG64Q0Q+gIiIiIiIiIiIyFy0KRFt0bOJZAWSUigmkQaJaXhENiRnYBEpkZySRSRGcmIWEaQnYhHRSI5mESmQnIJFZIqQmGhiEYEbEnPjGlEGjYTogW/WUkOXENENSqZfEXmDiIiIiIiIiIiIiIiIiIiImq5ETIpRpBpjJCMeKy6Ri0ZS9MQjkmkkJs1YRDokp2MRyZGclkUkQnIiEQltaX3Lzb6yiGTpl2y/avqSAxGgelCOKI+Kc2isL0TUSsZ4EREREREREREREREREREREfnIQzXrNWSRTeNxnlOwIgueIr6AAyE+CpiqMEUK71IDO4E+LluEKYKnKcMUifEsTZgiJZ5lDVNkwJPcqzBFoPF/HplfxL/w6b4EPGv1h18Weya1TL8iIiIeiIiIiIiIiEjkPefxV+5YA9PPHylB+u5aqgZ39H+jKOxrqtu+pkzvr9YbzoZ6w2OFkzcrA3yE4WZlSSyFk54VoA/wR43+FaD+r9w32QdWvgvjp2ty2xq8qHPHmtyPFxfrK3hw1ejERlAlfR/Ame2OTow05d4rOLLSlHtDVhI0uRO01JeZ405op6zgNNXT+bIRfpIgn+AkU4pOxBscohojdCHu4RRzjC5EYwVHqRONDkSnEvK/CB3QSU32IRW3ZPnj9iEVoGCNTLVrh8ia1x+6wq8xvB5mz8pxu7oPwIn9lcR0AiuX1+1KX+BXqdvXzWsAC0NsGjzZsS/2Bd6yRA5RgIHkXNhSD3whASZ8rrB9mItuEAizac0fDlHxDMEwpQfD1tW4y3Hjfy5s9nOHH3uwWA+EqEJBWCjoTL/S5toBB/7hu6zer74NgqSP39zJU+qQX3ix763mHTqvIVRUVprCljlElRkEjBqNYevH8veBJ2xhiyhE8YctmhDFH7ZoQhR/2KIJUfxhiyRE8YctmhDFH7ZoQhR/2OIJUfxhC9Ppf/t1jgJACERRsHGyYRZB0Ujvf0xD8w6kP7y6RZmgf/oTFTtbbzJVxZWo2Nlqw6TVy5GowNl6ssm7v50obamfSxQAAAAAAAsKLM15fb3vpQAAAABJRU5ErkJggg=="),Ha._image}static toggle(t,e,n,r){if(!e)return void Lr("InfoWindow not defined.");const i=t.root.findById(e);i?i._findInfoWindowByComponent(t)?Ha.hide(t,e):Ha.show(t,e,n,r):Lr("InfoWindow Not Found.",e)}static hide(t,e){if(!e)return;const n=t.root.findById(e);n?n._removeInfoWindow(t):Lr("InfoWindow Not Found.",e)}static show(t,n,r,i){if(!n)return void Lr("InfoWindow not defined.");const s=t.root.findById(n);if(!s)return void Lr("InfoWindow Not Found.",n);if(s._findInfoWindowByComponent(t))return;const{frontSideTemplate:o="",backSideTemplate:a=""}=s.model;let c=[o,a].filter(t=>String(t).trim());if(c=c.map(t=>La.template(function(t,e,n){return(e||n?['<div class="info-window-btns">',e?'<button class="closable">X</button>':"",n?'<button class="flipable">⇌</button>':"","</div>"]:[]).concat(['<div class="info-window-content">',t,"</div>"]).join("")}(t,!r,2==c.length))),0==c.length)return;const l='\n.flip {\n backface-visibility: hidden;\n border-radius: 7px;\n height: auto;\n font: normal 14px helvetica, arial, san serif;\n position: absolute;\n opacity: 0.9;\n transform-origin: 50% 50% 0px;\n transition: all 2s;\n min-width: 100px;\n min-height: 50px;\n background-color: #3e424e;\n box-shadow: 2px 3px 2px 0px rgba(0,0,0,0.15);\n}\n\n#side-1 {\n transform: rotateY(0deg);\n}\n\n.flip:after {\n content: "";\n display: block;\n position: absolute;\n opacity: 0.9;\n width: 0;\n height: 0;\n}\n\n.flip.arrow-top:after {\n left: 45%;\n top: -17px;\n border-left: 10px solid transparent;\n border-bottom: 18px solid #323b44;\n border-right: 10px solid transparent;\n}\n\n.flip.arrow-right:after {\n left: 100%;\n top: 48%;\n border-top: 10px solid transparent;\n border-left: 18px solid #323b44;\n border-bottom: 10px solid transparent;\n}\n\n.flip.arrow-bottom:after {\n left: 45%;\n top: 100%;\n border-left: 10px solid transparent;\n border-top: 18px solid #323b44;\n border-right: 10px solid transparent;\n}\n\n.flip.arrow-left:after {\n right: 100%;\n top: 48%;\n border-top: 10px solid transparent;\n border-right: 18px solid #323b44;\n border-bottom: 10px solid transparent;\n}\n\n#side-2 {\n transform: rotateY(180deg);\n}\n\n.flip-side-1 {\n transform: rotateY(0deg) !important;\n}\n\n.flip-side-2 {\n transform: rotateY(180deg) !important;\n}\n\n.info-window-btns {\n position: absolute;\n top: -18px;\n right: 5px;\n overflow: hidden;\n}\n\n.info-window-content {\n padding: 10px;\n color: #efefef;\n font-size: 13px;\n line-height: 1.4;\n}\n\n.info-window-btns button {\n width: 40px;\n height: 40px;\n float: right;\n border: 0;\n border-radius: 50%;\n background-color: #2a7da1;\n margin-right: 3px;\n text-align: center;\n cursor: pointer;\n font-size: 35px;\n color: #fff;\n line-height: 0;\n}\n\n.info-window-btns button:hover {\n background-color: #60bb23;\n}\n'+s.get("style");let{left:h,top:u}=t.bounds;const{x:d,y:p}=i?t.rootModel.toLocal(i.x,i.y):t.toScene(h,u);h=d,u=p;const f=document.createElement("span");f.style.position="absolute";const g=document.createElement("style");let m,y;g.type="text/css",g.appendChild(document.createTextNode(l)),f.appendChild(g),c[0]&&(m=document.createElement("div"),m.id="side-1",m.className="flip",m.style.display="inline-block",m.innerHTML=e.sanitize(c[0](t),{ADD_TAGS:["style"],ADD_ATTR:["class","id","style"]})),c[1]&&(y=document.createElement("div"),y.id="side-2",y.className="flip",y.style.display="inline-block",y.innerHTML=e.sanitize(c[1](t),{ADD_TAGS:["style"],ADD_ATTR:["class","id","style"]}));const b=t.rootModel.getOverlay(t);m&&f.appendChild(m),y&&f.appendChild(y),b.appendChild(f);const v=s._addInfoWindow(t,f,g).signal;if(_i.forEach(function(t){f.addEventListener(t,t=>t.stopPropagation(),{signal:v})}),wi.forEach(function(t){f.addEventListener(t,t=>t.stopPropagation(),{signal:v})}),m){const e=m.querySelector(".info-window-btns > .flipable");e&&e.addEventListener("click",function(t){t.preventDefault(),y.className=Ua(y.className,"flip-side-1"),m.className=Ua(m.className,"flip-side-2")},{signal:v});const r=m.querySelector(".info-window-btns > .closable");r&&r.addEventListener("click",function(e){e.preventDefault(),Ha.hide(t,n)},{signal:v})}if(y){const e=y.querySelector(".info-window-btns > .flipable");e&&e.addEventListener("click",function(t){t.preventDefault(),y.className=Ua(y.className,"flip-side-1"),m.className=Ua(m.className,"flip-side-2")},{signal:v});const r=y.querySelector(".info-window-btns > .closable");r&&r.addEventListener("click",function(e){e.preventDefault(),Ha.hide(t,n)},{signal:v})}const x=m.offsetWidth,_=m.offsetHeight,w=t.rootModel.target.getBoundingClientRect(),A=[];m&&A.push(m),y&&A.push(y);const S={x:h,y:u};let M=t.toGlobal(S.x,S.y);if(M.x+x/2+w.left<w.right&&M.x-x/2>w.left){if(_+Ya<M.y)return f.style.marginLeft=S.x-x/2+"px",f.style.marginTop=S.y-_-Ya+"px",void A.forEach(t=>t.className+=" arrow-bottom");if(M=t.toGlobal(S.x,S.y+_+Ya),w.bottom>M.y+w.top)return f.style.marginLeft=S.x-x/2+"px",f.style.marginTop=S.y+Ya+"px",void A.forEach(t=>t.className+=" arrow-top")}if(M=t.toGlobal(S.x,S.y),M.x-(x+Ya)>w.left)return f.style.marginLeft=S.x-x-Ya+"px",f.style.marginTop=S.y-_/2+"px",void A.forEach(t=>t.className+=" arrow-right");f.style.marginLeft=S.x+Ya+"px",f.style.marginTop=S.y-_/2+"px",A.forEach(t=>t.className+=" arrow-left")}dispose(){this.infoWindows.map(t=>t.component).forEach(t=>this._removeInfoWindow(t)),super.dispose()}get infoWindows(){return this._windows||(this._windows=[]),this._windows}_findInfoWindowByComponent(t){return this.infoWindows.find(e=>e.component===t)}_addInfoWindow(t,e,n){if(this._findInfoWindowByComponent(t))return;const r=new AbortController;return this._windows.push({component:t,window:e,styleElement:n,abortController:r}),r}_removeInfoWindow(t){const e=this._findInfoWindowByComponent(t);if(!e)return;e.abortController.abort();const n=e.window;n&&n.parentNode.removeChild(n);const r=this.infoWindows.lastIndexOf(e);this.infoWindows.splice(r,1)}render(t){const{left:e,top:n,width:r,height:i}=this.bounds;t.beginPath(),this.drawImage(t,Ha.image,e,n,r,i)}get hasTextProperty(){return!1}get nature(){return Ga}}La.register("info-window",Ha);const Wa={};var Va={list:function(){return{...Wa}},register:function(t,e){Wa[t]=e},unregister:function(t){delete Wa[t]},get:function(t){if(!t)return;const e=Wa[t];return e||Rr("Layout Not Found - ",t),e}};const $a=new class{constructor(){this.ABSOLUTE=!0}reflow(t,e){this.drawables(t).filter(t=>t.isHTMLElement()).forEach(t=>t.reposition())}capturables(t){return t.components}drawables(t){return t.app&&!t.app.isViewMode?t.components:t.components.filter(t=>!t.hidden)}isStuck(t){return!1}};Va.register("html-absolute",$a);const Xa=new class{constructor(){this.ABSOLUTE=!0}reflow(t,e){}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!1}};function qa(t){const e=t.components.filter(t=>!t.hidden),n=t.getState("layoutConfig")||{},r=e[n&&n.activeIndex||0];return r&&[r]||[]}Va.register("absolute",Xa);const Ka=new class{reflow(t){const e=t.bounds,n=t.getState("layoutConfig")||{},r={left:0,top:0,width:e.width,height:e.height};t.forEach((t,e)=>{const i=e!=(n.activeIndex||0);t.bounds=r,t.setState("rotation",0),"element"in t&&t.element&&(t.element.style.visibility=i?"hidden":"visible")})}capturables(t){return qa(t)}drawables(t){return qa(t)}isStuck(t){return!0}};function Za(t){const e=t.getState("layoutConfig");return e&&e.weight||1}Va.register("card",Ka);const Qa=new class{reflow(t){const e=this.drawables(t),n=t.getState("padding")||{},r=e.reduce((t,e)=>t+Za(e),0),i=t.bounds,s=r>0?(i.width-((n.left||0)+(n.right||0)))/r:i.width,o=i.height-((n.top||0)+(n.bottom||0));let a=0;e.forEach(t=>{const e=Za(t),r=t.getState("margin")||{};t.bounds={left:s*a+(n.left||0)+(r.left||0),top:0+(n.top||0)+(r.top||0),width:e*s-((r.left||0)+(r.right||0)),height:o-((r.top||0)+(r.bottom||0))},t.setState("rotation",0),a+=e})}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!0}};function Ja(t){const e=t.getState("layoutConfig");return e&&e.weight||1}Va.register("linear-horizontal",Qa);const tc=new class{reflow(t){const e=this.drawables(t),n=t.getState("padding")||{},r=e.reduce((t,e)=>t+Ja(e),0),i=t.bounds,s=r>0?(i.height-((n.top||0)+(n.bottom||0)))/r:i.height,o=i.width-((n.left||0)+(n.right||0));let a=0;e.forEach(t=>{const e=Ja(t),r=t.getState("margin")||{};t.bounds={left:0+(n.left||0)+(r.left||0),top:s*a+(n.top||0)+(r.top||0),width:o-((r.left||0)+(r.right||0)),height:e*s-((r.top||0)+(r.bottom||0))},t.setState("rotation",0),a+=e})}capturables(t){return t.components}drawables(t){return t.app?.isViewMode?t.components.filter(t=>!t.hidden):t.components}isStuck(t){return!0}};Va.register("linear-vertical",tc);const ec=new class{constructor(){this.joinType=!0}reflow(t){const e=t.getState("layoutConfig"),n=e&&e.columns||t.getState("columns"),r=e&&e.rows||t.getState("rows"),i=e&&e.widths||t.getState("widths"),s=e&&e.heights||t.getState("heights"),o=i?i.filter((t,e)=>e<n).reduce((t,e)=>t+e,0):n,a=s?s.filter((t,e)=>e<r).reduce((t,e)=>t+e,0):r,c=t.textBounds,l=t.getState("paddingLeft")||0,h=t.getState("paddingTop")||0,u=c.width/o,d=c.height/a;let p=0,f=0;t.components.forEach((t,e)=>{const r=i?i[e%n]:1,o=s?s[Math.floor(e/n)]:1;let a=t.colspan||1,c=0;for(;--a>0;)c+=i?i[(e+a)%n]:1;let g=t.rowspan||1,m=0;for(;--g>0;)m+=s?s[Math.floor(e/n)+g]:1;t.bounds={left:l+p,top:h+f,width:u*(r+c),height:d*(o+m)},t.setState("rotation",0),e%n==n-1?(p=0,f+=o*d):p+=r*u})}capturables(t){return t.components.filter(t=>!t.merged)}drawables(t){return t.components.filter(t=>!t.merged&&!t.hidden)}isStuck(t){return!0}keyNavigate(t,e,n){const r=t.getState("layoutConfig"),i=r&&r.columns||t.getState("columns"),s=r&&r.rows||t.getState("rows"),{row:o,column:a}=t.getRowColumn(e);switch(n.code){case"ArrowUp":if(o>0)return t.getAt?.((o-1)*i+a);break;case"ArrowDown":if(o<s-1)return t.getAt?.((o+1)*i+a);break;case"ArrowRight":if(a<i-1)return t.getAt?.(o*i+a+1);break;case"ArrowLeft":if(a>0)return t.getAt?.(o*i+a-1);break;default:return e}}};Va.register("table",ec);const nc=20;function rc(t,e="static",n,r,i,s,o={}){const{title:a="",gap:c=nc}=o;if("auto"===n){const{x:e,y:n}=function(t,e,n,r="",i=nc){const s=Math.max(e.width/4-n.width/2,i),o=Math.min(3*e.width/4+n.width/2,e.width-i)-n.width,a=Math.max(e.height/4-n.height/2,i),c=Math.min(3*e.height/4+n.height/2,e.height-i)-n.height+(r?-30:0);return{x:t.x<e.width/2?Math.min(o,t.x+20):Math.max(s,t.x-(n.width+20)),y:t.y<e.height/2?Math.min(c,t.y+20+(r?30:0)):Math.max(a,t.y-(n.height+20))}}(r,i,s,a,c);Object.assign(t.style,{position:"absolute",left:`${e}px`,top:`${n}px`})}else"static"===e?function(t,e,n,r,i){const s=t.style,o=e.includes("left")?i:e.includes("right")?n.width-r.width-i:n.width/2-r.width/2,a=e.includes("top")?i:e.includes("bottom")?n.height-r.height-i:n.height/2-r.height/2;Object.assign(s,{left:`${o}px`,top:`${a}px`})}(t,n,i,s,c):function(t,e,n=nc){const r=t.style;switch(Object.assign(r,{position:"absolute",left:"",right:"",top:"",bottom:"",transform:""}),e){case"center-middle":default:Object.assign(r,{left:"50%",top:"50%",transform:"translate(-50%, -50%)"});break;case"center-top":Object.assign(r,{left:"50%",top:`${n}px`,transform:"translateX(-50%)"});break;case"center-bottom":Object.assign(r,{left:"50%",bottom:`${n}px`,transform:"translateX(-50%)"});break;case"left-middle":Object.assign(r,{left:`${n}px`,top:"50%",transform:"translateY(-50%)"});break;case"right-middle":Object.assign(r,{right:`${n}px`,top:"50%",transform:"translateY(-50%)"});break;case"left-top":Object.assign(r,{left:`${n}px`,top:`${n}px`});break;case"right-top":Object.assign(r,{right:`${n}px`,top:`${n}px`});break;case"left-bottom":Object.assign(r,{left:`${n}px`,bottom:`${n}px`});break;case"right-bottom":Object.assign(r,{right:`${n}px`,bottom:`${n}px`})}}(t,n,c)}function ic(t,e,n={sx:1,sy:1}){let r,i,s=0,o=0,a=!1;const c=/translate\(([-\d.]+)px,\s*([-\d.]+)px\)/;function l(){const e=(t.style.transform||"").match(c);return{x:e?parseFloat(e[1]):0,y:e?parseFloat(e[2]):0}}function h(t,e){a=!0;const n=l();s=n.x,o=n.y,r=t,i=e}function u(e,c){if(!a)return;const l=e-r,h=c-i,{sx:u,sy:d}=n;!function(e,n){t.style.transform=`translate(${e}px, ${n}px)`}(s+l/u,o+h/d)}function d(){const t=l();s=t.x,o=t.y,a=!1}e?.addEventListener("mousedown",t=>{t.preventDefault(),t.stopPropagation(),h(t.clientX,t.clientY);const e=t=>{t.preventDefault(),u(t.clientX,t.clientY)},n=t=>{t.preventDefault(),d(),window.removeEventListener("mousemove",e,!0),window.removeEventListener("mouseup",n,!0)};window.addEventListener("mousemove",e,!0),window.addEventListener("mouseup",n,!0)}),e?.addEventListener("touchstart",t=>{if(1!==t.touches.length)return;t.preventDefault(),t.stopPropagation(),h(t.touches[0].clientX,t.touches[0].clientY);const e=t=>{1===t.touches.length&&(t.preventDefault(),u(t.touches[0].clientX,t.touches[0].clientY))},n=t=>{d(),window.removeEventListener("touchmove",e,!0),window.removeEventListener("touchend",n,!0),window.removeEventListener("touchcancel",n,!0)};window.addEventListener("touchmove",e,!0),window.addEventListener("touchend",n,!0),window.addEventListener("touchcancel",n,!0)})}const sc=["run","goto","goto-playlist","link-open","link-move","route-page","start-scenario","run-scenario","export-data","import-data"];function oc(t,e){const n=document.createElement("button");return n.className=t,n.textContent=e,n}const ac=new WeakMap;function cc(t){const e=t.root,n=ac.get(e);if(!n)return;if(e===t)return n.forEach(t=>cc(t[0])),void ac.delete(e);const r=n.findIndex(e=>e[0]===t);if(-1===r)return;const i=n[r][1];cancelAnimationFrame(i.rafId),i.ac.abort(),i.div.parentNode?.removeChild(i.div),i.scene.target=null,i.scene.release?.(),n.splice(r,1)}class lc{static hideAll(t){(ac.get(t)||[]).forEach(([t])=>cc(t))}static hide(t){const e=t.root,n=ac.get(e);if(!n)return;const r=n.findIndex(e=>e[0]===t);if(-1===r)return;const i=n[r][1];i.div.style.backgroundColor="transparent",i.rafId=function(t,e,n){t.style.opacity="1";const r=(t.style.transform||"").replace(/scale\([^)]+\)/,"").trim();t.style.transform=`${r} scale(1)`;let i=0;const s=Date.now(),o=()=>{if(n?.aborted)return;const a=Math.min((Date.now()-s)/200,1);t.style.opacity=String(1-a),t.style.transform=`${r} scale(${1-a})`.trim(),a<1?i=requestAnimationFrame(o):(t.style.display="none",e&&e())};return i=requestAnimationFrame(o),i}(i.div,()=>{cc(t)},i.ac.signal)}static show(t,e,n={}){const{data:r,modal:i=!1,closable:s=!0,minimizable:o=!1,draggable:a=!1,output:c=!0,popupPosition:l="static",origin:h="center-middle",title:u=""}=n,d=t.app?.refProvider,p=!l||"static"===l;d?.get(e,!0).then(e=>{const n=document.createElement("div");n.setAttribute("popup",""),"absolute"==l&&(n.style.zIndex="100");const d=n.style;if(i){const{width:e,height:n}=p?t.rootModel.bounds:t.rootModel.auxOverlay.getBoundingClientRect();Object.assign(d,{position:"absolute",zIndex:"100",left:0,top:0,width:p?`${e}px`:"100%",height:p?`${n}px`:"100%",overflow:"hidden",backgroundColor:"transparent"})}else Object.assign(d,{position:"absolute",display:"inline-block"});n.appendChild(function(t){const e=document.createDocumentFragment(),n=document.createElement("div");n.className="popup-wrap";const r=document.createElement("div");if(r.className="popup-translate",t){const t=document.createElement("div");t.className="popup-title-bar";const e=document.createElement("div");e.className="popup-title",t.appendChild(e);const n=document.createElement("div");n.className="popup-buttons-wrap",n.appendChild(oc("closable","close")),n.appendChild(oc("minimizable","minimize")),n.appendChild(oc("draggable","drag_pan")),t.appendChild(n),r.appendChild(t)}else{const t=document.createElement("div");t.className="popup-buttons-wrap float-right",t.appendChild(oc("closable","close")),t.appendChild(oc("minimizable","minimize")),t.appendChild(oc("draggable","drag_pan")),r.appendChild(t)}const i=document.createElement("div");return i.className="popup-content",r.appendChild(i),n.appendChild(r),e.appendChild(n),e}(!!u));const f=n.querySelector(".popup-content"),{width:g,height:m}=e.root.model;Object.assign(f.style,{width:`${g}px`,height:`${m}px`});const y=document.createElement("style");y.appendChild(document.createTextNode("\n\n.popup-wrap .popup-translate {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n min-width: 120px;\n overflow: hidden;\n transition: height 0.5s ease;\n}\n\n.popup-wrap .popup-translate > * {\n pointer-events: auto;\n}\n\n.popup-wrap .popup-content {\n background-color: var(--md-sys-color-surface, white);\n}\n\n.popup-wrap .popup-title-bar {\n display: flex;\n align-items: center;\n top: 0;\n left: 0;\n width: 100%;\n height: 30px;\n background-color: var(--md-sys-color-primary, #f1f1f1);\n color: var(--md-sys-color-on-primary, black);\n padding: 5px;\n box-sizing: border-box;\n border-bottom: 1px solid #ccc;\n}\n\n.popup-wrap .popup-title {\n flex: 1;\n text-align: center;\n}\n\n.popup-wrap .popup-buttons-wrap {\n position: relative;\n display: flex;\n flex-direction: row-reverse;\n gap: 4px;\n min-width: 100px;\n align-items: center;\n justify-items: center;\n margin: 0;\n padding: 0;\n}\n\n.popup-wrap .popup-buttons-wrap.float-right {\n position: absolute;\n right: 0;\n top: 0;\n height: 30px;\n margin-right: 5px;\n}\n\n.popup-wrap button.closable, \n.popup-wrap button.minimizable, \n.popup-wrap button.draggable {\n display: none;\n color: white; \n background-color: black; \n opacity: .3;\n width: 20px;\n height: 20px;\n top: 5px; \n z-index: 1;\n padding: 0;\n margin: 0;\n border: 0px;\n text-align: center;\n cursor: pointer;\n border-radius: 4px;\n font-family: Material Symbols Outlined;\n font-size: 16px;\n}\n\n.popup-wrap button.draggable {\n cursor: move;\n}\n\n.popup-wrap button.closable:hover, \n.popup-wrap button.minimizable:hover, \n.popup-wrap button.draggable:hover {\n opacity: .6; \n}\n")),n.appendChild(y),sc.forEach(n=>{e.on(n,(...e)=>{t.trigger(n,...e)})});const b=new AbortController,v=b.signal,x=n.querySelector(".draggable");[..._i,...wi].forEach(t=>{f.addEventListener(t,t=>t.stopPropagation(),{signal:v})}),[..._i,...wi].forEach(t=>{n.addEventListener(t,t=>t.stopPropagation(),{signal:v})}),i&&s&&n.addEventListener("click",e=>{e.target===n&&lc.hide(t)},{signal:v});const _=t.rootModel.getOverlay?.({...t,scalable:!l||"static"==l});_?.appendChild(n),function(t,e,n,r,i){const s=t.root;if(s===t)return;cc(t);let o=ac.get(s)||[];o=[...o,[t,{div:e,scene:n,ac:r,rafId:i}]],ac.set(s,o)}(t,n,e,b,0);const w=ac.get(t.root)?.find(e=>e[0]===t)?.[1];if(u){const t=n.querySelector(".popup-title-bar .popup-title");t&&(t.textContent=u)}const A=n.querySelector(".popup-translate");if(a&&(ic(A,u?n.querySelector(".popup-title-bar"):n.querySelector(".draggable"),function(t,e){if(!(e=e||t.position)||"static"===e){const e=(t.rootModel.getOverlay(t).style.transform||"").match(/scale\(([^,\s)]+)(?:,\s*([^)]+))?\)/),n=e?parseFloat(e[1]):1;return{sx:n,sy:e&&e[2]?parseFloat(e[2]):n}}return{sx:1,sy:1}}(t,l)),u?x&&(x.style.display="block"):(A?.addEventListener("mouseenter",()=>{x&&(x.style.display="block")},{signal:v}),A?.addEventListener("mouseleave",()=>{x&&(x.style.display="none")},{signal:v}))),o){const t=n.querySelector(".minimizable");let e=!1;t.addEventListener("click",t=>{t.preventDefault(),e=!e;const r=n.querySelector(".popup-wrap");!function(t,e,n){const r=e.querySelector(".minimizable"),i=e.querySelector(".popup-translate");i&&(n?(r.textContent="crop_square",i.style.height="30px"):(r.textContent="minimize",i.style.height="100%"))}(0,i?r:n,e)},{signal:v}),u?t&&(t.style.display="block"):(A?.addEventListener("mouseenter",()=>{t&&(t.style.display="block")},{signal:v}),A?.addEventListener("mouseleave",()=>{t&&(t.style.display="none")},{signal:v}))}if(s){const t=n.querySelector(".closable");u?t&&(t.style.display="block"):(A?.addEventListener("mouseenter",()=>{t&&(t.style.display="block")},{signal:v}),A?.addEventListener("mouseleave",()=>{t&&(t.style.display="none")},{signal:v}))}n.querySelector(".closable")?.addEventListener("click",e=>{e.preventDefault(),lc.hide(t)},{signal:v}),n.addEventListener("close-scene",e=>{e.preventDefault(),e.stopPropagation(),lc.hide(t),c&&(t.data=e.detail)},{signal:v}),e.target=f,e.data=r||t.data,e.fit("both");const{x:S,y:M}=t.center,E=t.toScene(S,M),k=i?n.querySelector(".popup-wrap"):n;rc(k,l,h,E,e.root.bounds,{width:g,height:m},{title:u}),i?Object.assign(k.style,{position:"absolute",pointerEvents:"none",width:`${g}px`,height:`${u?m+30:m}px`}):Object.assign(k.style,{pointerEvents:"none",width:`${g}px`,height:`${u?m+30:m}px`});const C=function(t,e,n){t.style.opacity="0";const r=(t.style.transform||"").replace(/scale\([^)]+\)/,"").trim();t.style.transform=`${r} scale(0)`,t.style.display="block";let i=0;const s=Date.now(),o=()=>{if(n?.aborted)return;const a=Math.min((Date.now()-s)/200,1);t.style.opacity=String(a),t.style.transform=`${r} scale(${a})`.trim(),a<1?i=requestAnimationFrame(o):e&&e()};return i=requestAnimationFrame(o),i}(n,()=>{i&&(n.style.backgroundColor="rgba(0,0,0,0.3)")},v);w&&(w.rafId=C)},t=>{Rr("cannot fetch board: "+e,t)})}}const hc=new Image;function uc(t){return class extends t{get showMoveHandle(){return!1}postrender(t){super.postrender(t),this.app.isEditMode&&this._focused&&this.showMoveHandle&&this._draw_move_handle(t)}_draw_move_handle(t){const{left:e,top:n,width:r}=this.bounds;t.save(),t.beginPath(),t.globalAlpha=1,t.rect(e+r,n,25,25);t.fillStyle="rgba(235, 235, 235, 1)",t.fill(),t.drawImage(hc,e+r+3.75,n+3.75,17.5,17.5),t.closePath(),t.restore()}contains(t,e){let n=super.contains(t,e);if(this.app.isViewMode)return n;if(!n){const{left:r,top:i,width:s}=this.bounds,o=r+s,a=25;this.showMoveHandle&&(n=t<Math.max(o+25,o)&&t>Math.min(o+25,o)&&e<Math.max(i+a,i)&&e>Math.min(i+a,i))}return this._focused!==n&&(this._focused=n,this.invalidate()),n}}}hc.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAclBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0BbqFAAAAJXRSTlMAgAP3VSI6/g9fBk5FavJsMrariSjzPnO1enRRL5SMhmOOWB9keFTE0wAAANxJREFUOMutk9kWgyAMRLFuiLjUtdp9yf//YglVsQXz1HniMPcEMgHGvpX2O0Ypi+EgCL+IAShC+wB7QfubRDT7AFcnUPoLMLiP4PyJbsb55i05AgnR5iaQDsICgtH0cotBWoAP1c7kC6kFxEseCfZfB6gEgbNeBrira2QmH1uVYCXlA3is8UmgUCPIyQJKEmu8QtQJN0e9DPXVpzG2G216c1CqRmcBOdxXk07sWUSPv07zo0amCNQycv+NzmR6cRcwmfbuI7p2nZ/z4be0P83Foz6vIkhfZXr82XgDlZsspIq4peUAAAAASUVORK5CYII=";const dc=[];class pc extends(uc(Ba(La))){constructor(t,e){super(t,e),this._components=[]}replaceRefids(t){this.components.forEach(e=>e.replaceRefids(t))}get showMoveHandle(){return!0}get showOverflow(){return!1}dispose(){this.components.slice().forEach(t=>t.dispose()),super.dispose()}isContainer(){return!0}containable(t){return t.isDescendible(this)}get hasTextProperty(){return!1}get components(){return this._components}get focusible(){return!0}get layout(){return Va.get(this.get("layout"))||Xa}reflow(){this.layout.reflow(this),this.components&&this.components.forEach(t=>{t.isContainer()&&t.reflow()})}get hierarchy(){const t=super.hierarchy;return this.components&&(t.components=this.components.map(t=>t.hierarchy)),t}addComponent(t,e=!1){const n=t.parent;if(n){if(this===n)return;n.removeComponent(t,e)}const r=this._components.push(t)-1;t.parent=this,t.added(this),e||this.trigger("add",this,t,r),t.delegate_on(this),e||t.trigger("added",this,t,r),this.root&&this.root.isReady&&t.ready()}removeComponent(t,e=!1){const n=this._components.indexOf(t);-1!=n&&(this._components.splice(n,1),t.parent=null,t.removed(this),e||(this.trigger("remove",this,t),t.trigger("removed",this,t)),t.delegate_off(this))}insertComponentAt(t,e,n=!1){const r=t.parent;r&&r.removeComponent(t,n);const i=this._components.splice(0,e);this._components=i.concat(t,this._components),e=this._components.indexOf(t),t.parent=this,t.added(this),n||this.trigger("add",this,t,e),t.delegate_on(this),n||t.trigger("added",this,t,e)}add(t,e=!1){return t instanceof Array?(t.forEach(t=>{-1==this._components.indexOf(t)&&this.addComponent(t,e)}),this):this.add.call(this,[t],e)}remove(t,e=!1){return t instanceof Array?this._components?(t.forEach(t=>{this.removeComponent(t,e)}),this):this:this.remove.call(this,[t],e)}getAt(t){if(this._components)return this._components[t]}forEach(t,e){this._components&&this._components.forEach(t,e)}traverse(t,e){t.call(e,this),this._components&&this._components.forEach(n=>{n.isContainer()?n.traverse(t,e):t.call(e,n)})}indexOf(t){return(this._components||dc).indexOf(t)}size(){return(this._components||dc).length}moveChildAt(t,e){const n=this.indexOf(e);if(-1==n)return;let r=this._components.splice(0,n);const i=this._components.splice(1);this._components=r.concat(i),t=Math.max(0,t),t=Math.min(t,this._components.length),r=this._components.splice(0,t),this._components=r.concat(e,this._components)}moveChildForward(t){const e=this.indexOf(t);-1!=e&&e!=this.size()-1&&(this._components[e]=this._components[e+1],this._components[e+1]=t)}moveChildBackward(t){const e=this.indexOf(t);-1!=e&&0!=e&&(this._components[e]=this._components[e-1],this._components[e-1]=t)}moveChildToFront(t){const e=this.indexOf(t);if(-1==e||e==this.size()-1)return;const n=this._components.splice(0,e),r=this._components.splice(1);this._components=n.concat(r,this._components)}moveChildToBack(t){const e=this.indexOf(t);if(-1==e||0==e)return;const n=this._components.splice(0,e),r=this._components.splice(1);this._components=this._components.concat(n,r)}symmetryX(t){super.symmetryX(t),this.components.map(t=>{t.symmetryX(0)})}findAll(t,...e){if("string"==typeof t)return ha(t,this,e[0]||this);if("function"!=typeof t)return[];let n=[];for(let r=this.components.length-1;r>=0;r--){const i=this.components[r].findAll(t,...e);i&&(n=n.concat(i))}return t(this,...e)&&n.push(this),n}findFirst(t,...e){if("string"==typeof t)return ha(t,this,e[0])[0];if("function"==typeof t){for(let n=this.components.length-1;n>=0;n--){const r=this.components[n].findFirst(t,...e);if(null!=r)return r}return t(this,...e)?this:void 0}}findById(t){return this.root.findAllById?.(t)?.[0]}findByRefid(t){return this.root.findByRefid?.(t)}contains(t,e){let n=super.contains(t,e);if(!n){const{left:r,top:i,width:s,height:o}=this.state;n=t<Math.max(r+s,r)&&t>Math.min(r+s,r)&&e<Math.max(i+o,i)&&e>Math.min(i+o,i)}return n}capture(t,e,n){if(!this.app.isEditMode&&this.hidden)return!1;const r=this.fromParent(t,e);if(!this.contains(r.x,r.y))return!1;const i=this.bounds;r.x-=i.left,r.y-=i.top;const s=this.layout.capturables(this);for(let i=s.length-1;i>=0;i--){const o=s[i];let a;if(a="static"==o.position?o.capture(r.x,r.y,n):o.capture(t,e,n),a)return a}return this.capturable&&!n?.(this)&&this}capturePath(t,e){if(e){if(e.indexOf(this)>-1)return!1;for(let t=0;t<e.length;t++)if(!this.containable(e[t]))return!1}const n=[],{left:r,top:i,width:s,height:o}=this.bounds;for(let e=0;e<t.length;e++){const a=this.fromParent(t[e].x,t[e].y);if(a.x<r||a.x>r+s||a.y<i||a.y>i+o)return!1;a.x-=r,a.y-=i,n.push(a)}const a=this.layout.capturables(this);for(let t=a.length-1;t>=0;t--){const r=a[t];if(!r.isContainer())continue;const i=r.capturePath(n,e);if(i)return i}return this.focusible&&this}render(t){const{left:e=0,top:n=0,width:r,height:i}=this.bounds;t.beginPath(),t.rect(e,n,r,i),t.closePath(),this.drawFill(t),this.drawStroke(t)}postrender(t){const e=this.layout.drawables(this);if(e.length>0){let{left:n=0,top:r=0,width:i,height:s}=this.bounds;t.save(),this.showOverflow||(t.beginPath(),t.rect(n,r,i,s),t.clip(),t.closePath()),({top:r,left:n}=this.state),t.translate(n,r),e.forEach(e=>{e.draw(this.position&&"static"!==this.position?t:this.getContext(e))}),t.translate(-n,-r),t.restore()}super.postrender(t)}trim(){this.components.forEach(t=>{t.trim()}),super.trim()}}["layout"].forEach(t=>La.memoize(pc.prototype,t,!1));class fc extends pc{constructor(t,e){super(t,e),this._element=null,t.translate=t.translate||{x:0,y:0},this._draw_reserved=!1,this.__draw__=()=>{this._draw_reserved=!1;const t=performance.now();this.trigger("redraw"),this.reflow(),this.draw();const e=performance.now()-t;_r.drawCount++,_r.drawTimeSum+=e,_r.drawTimeLast=e,_r.countFrame()},this.throttle_render=()=>{this._draw_reserved||requestAnimationFrame(this.__draw__),this._draw_reserved=!0}}get element(){return this._element}set element(t){this._element=t}fitSize(t,e,n,r){if(this.target){if(e){const t=getComputedStyle(this.target);n=n||(t?parseFloat(t.getPropertyValue("width")):this.target.clientWidth),r=r||(t?parseFloat(t.getPropertyValue("height")):this.target.clientHeight)}else n=this.model.width,r=this.model.height;"CANVAS"==t.tagName&&(t.setAttribute("width",n*xi),t.setAttribute("height",r*xi)),t.style.width=n+"px",t.style.height=r+"px"}}resize(){this.fitSize(this.element,!0)}isLayer(){return!0}get showOverflow(){return this.app.isEditMode}get anchors(){}createElement(){const t=La.createCanvas(1,1);return t.setAttribute("scene",this.state.type),t.style.position="absolute",t.style.pointerEvents=this.pointerEvents,t}get pointerEvents(){return"auto"}get target(){return this._target}set target(t){this._target&&this.element&&this._target.removeChild(this.element),this._target=t,this.element||(this.element=this.createElement()),this.resize(),t?.appendChild(this.element)}get canvas(){return this.element}dispose(){super.dispose(),this.target=null,this.element=null}get selected(){return this.root.selected||[]}set selected(t){this.root.selected=t}get hasSameParentForAllSelected(){return this.root.hasSameParentForAllSelected}get focused(){return this.root.focused}set focused(t){this.root.focused=t}get context2D(){if(!this._context2D&&(this._context2D=this.canvas&&this.canvas.getContext("2d"),this._context2D)){const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._context2D.font=["10px",e].join(" "),this._context2D.save()}return this._context2D}getContext(t){return this._context2D||this.context2D}draw(t){this.canvas&&(t=t||this.getContext(void 0))&&(t.save(),super.draw(t),t.restore())}prerender(t){const{translate:e,scale:n={x:1,y:1},rotation:r}=this.model;t.clearRect(0,0,t.canvas.width,t.canvas.height),e&&t.translate(e.x*xi,e.y*xi),t.scale(n.x*xi,n.y*xi),r&&t.rotate(r)}get rotatePoint(){return{x:0,y:0}}contains(t,e){return!1}invalidate(){_r.invalidateCount++,this.throttle_render()}move(t){const e=this.get("translate")||{x:0,y:0};this.set({translate:{x:e.x+t.x,y:e.y+t.y}})}centerTo(t,e){const n=t.rootModel.toLocal(this.canvas.clientWidth/2,this.canvas.clientHeight/2),{x:r,y:i}=t.center,{x:s,y:o}=t.fromParent(r,i),{x:a,y:c}=t.toScene(s,o),{x:l,y:h}=t.rootModel.get("translate"),{x:u,y:d}=t.rootModel.get("scale");e?Ro({step:function(e){t.rootModel.set({translate:{x:l+(n.x-a)*u*e,y:h+(n.y-c)*d*e}})},duration:1e3,delta:"circ"}).start():t.rootModel.set({translate:{x:l+(n.x-a)*u,y:h+(n.y-c)*d}})}}class gc extends fc{dispose(){super.dispose(),delete this._canvas,delete this._auxCanvas}createElement(){const t=document.createElement("div");return t.style.position="absolute",t.setAttribute("scene",`${this.state.type}-anchor`),t.style["user-select"]="none",t.style.overflow="hidden",this._canvas=La.createCanvas(1,1),this._canvas.style.position="absolute",this._canvas.style.pointerEvents="none",this._canvas.setAttribute("scene",`${this.state.type}-canvas`),t.appendChild(this._canvas),this._auxCanvas=La.createCanvas(1,1),this._auxCanvas.style.position="absolute",this._auxCanvas.style.pointerEvents="none",this._auxCanvas.style.zIndex="100",this._auxCanvas.setAttribute("scene",`${this.state.type}-aux-canvas`),t.appendChild(this._auxCanvas),t}resize(){if(!this.element)return;this.fitSize(this.element,!0);const t=this.element.clientWidth,e=this.element.clientHeight;this.fitSize(this.canvas,!0,t,e),this.fitSize(this.auxCanvas,!0,t,e)}get canvas(){return this._canvas}get auxCanvas(){return this._auxCanvas}get context2D(){if(!this._context2D){this._context2D=this.canvas&&this.canvas.getContext("2d");const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._context2D.font=["10px",e].join(" "),this._context2D.save()}return this._context2D}get auxContext2D(){if(!this._auxContext2D){this._auxContext2D=this.auxCanvas&&this.auxCanvas.getContext("2d");const t=getComputedStyle(document.documentElement),e=t.getPropertyValue("--scene-theme-font-family")?.trim()||t.fontFamily||"sans-serif";this._auxContext2D.font=["10px",e].join(" "),this._auxContext2D.save()}return this._auxContext2D}getContext(t){/*!this.app.isViewMode || */
|
|
3
|
+
return!t||t.scalable?this.context2D:this.auxContext2D}draw(t){this.canvas&&this.element&&(t=t||this.getContext(void 0))&&(this.auxContext2D.clearRect(0,0,this.auxCanvas.width,this.auxCanvas.height),this.auxContext2D.save(),this.auxContext2D.scale(xi,xi),super.draw(t),this.auxContext2D.restore())}}var mc,yc,bc,vc;!function(t){t.CANVAS="canvas",t.DOM="dom"}(mc||(mc={}));class xc{get overlay(){return this._overlay}constructor(t,e,n={}){if(this.element=null,this.isActive=!1,this._overlay=null,this.target=e,this.options={animation:!0,repeat:!0,duration:3e3,color:"#ff0000",opacity:1,fadeOut:!1,...n},this.mode=n.mode||this.determineOptimalMode(),t){this._overlay=t;ys.getInstance().addOverlay(t)}}determineOptimalMode(){return!1!==this.options.animation?mc.DOM:mc.CANVAS}start(){if(!this.isActive&&(this.isActive=!0,this.mode===mc.DOM)){this.overlay?(this.createDOMElements(),this.target.on("change",this.handleTargetChange,this),this.target.on("removed",this.handleTargetRemoved,this)):(Lr("오버레이가 설정되지 않아 DOM 모드 데코레이터를 시작할 수 없습니다."),this.isActive=!1)}}stop(){this.isActive&&(this.isActive=!1,this.mode===mc.DOM&&(this.target.off("change",this.handleTargetChange,this),this.target.off("removed",this.handleTargetRemoved,this),this.removeDOMElements()))}update(t){if(t&&(this.options={...this.options,...t},t.mode&&t.mode!==this.mode))return this.stop(),this.mode=t.mode,void this.start();this.mode===mc.DOM&&this.isActive&&this.updateDOMElements()}render(t,e){return!(this.mode!==mc.CANVAS||!this.isActive)&&this.renderCanvas(t,e)}removeDOMElements(){this.element&&this.element.parentNode&&(this.element.parentNode.removeChild(this.element),this.element=null)}updateDOMElements(){this.removeDOMElements(),this.createDOMElements()}getComponentPosition(){const{left:t,top:e,width:n,height:r}=this.target.bounds;if("function"==typeof this.target.toGlobal)try{const{x:i,y:s}=this.target.toGlobal(t,e,this.target.rootModel);return{x:i,y:s,width:n,height:r}}catch(t){Lr("좌표 변환 실패, 기본값 사용:",t)}return{x:t,y:e,width:n,height:r}}handleTargetChange(t,e){this.target.disposed?this.stop():this.invalidate()}handleTargetRemoved(){this.stop()}invalidate(){}}function _c(t,e,n){const r=t.rootModel;if(r?.is3dMode){const e=t._realObject?.object3d,n=r.activeCamera3d,i=r.renderer3d;if(e&&n&&i){const t=new x.Vector3;e.getWorldPosition(t);const r=t.clone().project(n),s=i.domElement;return{x:(.5*r.x+.5)*s.clientWidth,y:(.5*-r.y+.5)*s.clientHeight}}return null}const i=t.toGlobal(e,n,r);return isNaN(i.x)||isNaN(i.y)?null:i}class wc extends xc{constructor(t,e,n={}){super(t,e,{strokeWidth:2,strokeColor:"#FF0000",strokeOpacity:1,fillColor:"none",fillOpacity:.5,scale:1,rotation:0,x:0,y:0,zIndex:0,mode:mc.DOM,...n}),this.vectorElement=null,this.animationElements=[],this.svgContainer=null,this.animationElement=null}getDecoratorType(){return this.constructor.DECORATOR_TYPE}dispose(){this.removeDOMElements()}determineOptimalMode(){return mc.DOM}renderCanvas(t,e){return Lr("VectorDecorator는 Canvas 렌더링을 지원하지 않습니다. DOM 모드를 사용하세요."),!1}getSvgContainer(){if(!this.overlay)throw new Error("오버레이 요소가 없습니다.");if(!wc.svgContainerCache.has(this.overlay)){const t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.setAttribute("class","vector-decorator-container"),t.setAttribute("pointer-events","none"),t.style.overflow="visible",t.style.position="absolute",t.style.top="0",t.style.left="0",this.overlay.appendChild(t),wc.svgContainerCache.set(this.overlay,t)}return wc.svgContainerCache.get(this.overlay)}getOrCreateDecoratorGroup(t=!1){const e=this.getSvgContainer(),n=this.getVectorGroupId(),r=this.getDecoratorType();let i=e.querySelector(`g[data-decorator-type-container="${r}"]`);if(!i){i=document.createElementNS("http://www.w3.org/2000/svg","g"),i.setAttribute("data-decorator-type-container",r),i.setAttribute("class",`${r}-container`),e.appendChild(i);const t=document.createElementNS("http://www.w3.org/2000/svg","defs");t.setAttribute("data-defs-for",r),i.appendChild(t)}let s=i.querySelector(`g[data-decorator-group-id="${n}"]`);if(!s){const{id:t}=this.target.state;return s=document.createElementNS("http://www.w3.org/2000/svg","g"),s.setAttribute("data-decorator-group-id",n),s.setAttribute("data-decorator-type",r),t&&s.setAttribute("data-component-id",t),i.appendChild(s),s}if(t)for(;s.firstChild;)s.removeChild(s.firstChild);return s}getDefsForType(){const t=this.getSvgContainer(),e=this.getDecoratorType();let n=t.querySelector(`g[data-decorator-type-container="${e}"]`);n||(this.getOrCreateDecoratorGroup(),n=t.querySelector(`g[data-decorator-type-container="${e}"]`));let r=n.querySelector(`defs[data-defs-for="${e}"]`);return r||(r=document.createElementNS("http://www.w3.org/2000/svg","defs"),r.setAttribute("data-defs-for",e),n.appendChild(r)),r}getDecoratorGroup(){const t=this.getSvgContainer(),e=this.getVectorGroupId(),n=t.querySelector(`g[data-decorator-group-id="${e}"]`);if(n)return n}createFadeAnimation(t=0,e=1,n=1e3,r={}){const i=document.createElementNS("http://www.w3.org/2000/svg","animate");return i.setAttribute("attributeName","opacity"),i.setAttribute("from",t.toString()),i.setAttribute("to",e.toString()),i.setAttribute("dur",`${n}ms`),r.delay&&i.setAttribute("begin",`${r.delay}ms`),i.setAttribute("fill","freeze"),r.repeat?i.setAttribute("repeatCount","indefinite"):i.setAttribute("repeatCount","1"),i}createTranslateAnimation(t,e=[],n=1e3,r={}){const i=document.createElementNS("http://www.w3.org/2000/svg","animateTransform");return i.setAttribute("attributeName","transform"),i.setAttribute("type","translate"),i.setAttribute("values",t.join(";")),e.length>0&&i.setAttribute("keyTimes",e.join(";")),i.setAttribute("dur",`${n}ms`),r.delay&&i.setAttribute("begin",`${r.delay}ms`),r.repeat?i.setAttribute("repeatCount","indefinite"):i.setAttribute("repeatCount","1"),i}createRotateAnimation(t=0,e=360,n=0,r=0,i=1e3,s={}){const o=document.createElementNS("http://www.w3.org/2000/svg","animateTransform");return o.setAttribute("attributeName","transform"),o.setAttribute("type","rotate"),o.setAttribute("from",`${t} ${n} ${r}`),o.setAttribute("to",`${e} ${n} ${r}`),o.setAttribute("dur",`${i}ms`),s.delay&&o.setAttribute("begin",`${s.delay}ms`),s.repeat?o.setAttribute("repeatCount","indefinite"):o.setAttribute("repeatCount","1"),o}addAnimations(t,e){e.forEach(e=>{t.appendChild(e),this.animationElements.push(e)})}projectComponentPoint(t,e,n){return _c(t,e,n)}updatePosition(){if(!this.vectorElement)return;const t=this.options,{left:e,top:n}=this.target.bounds,r=this.projectComponentPoint(this.target,e,n);if(!r)return;const i=r.x+(t.x??0),s=r.y+(t.y??0);this.vectorElement.setAttribute("transform",`translate(${i}, ${s})`)}updateDOMElements(){this.createDOMElements()}getVectorGroupId(){const t=this.getDecoratorType(),{refid:e="unknown"}=this.target.state;return`decorator-${t}-${e}`}removeVectorElements(){if(this.overlay)try{const t=wc.svgContainerCache.get(this.overlay);if(!t)return;const e=this.getVectorGroupId(),n=this.getDecoratorType(),r=t.querySelector(`g[data-decorator-type-container="${n}"]`);if(r){const t=r.querySelector(`g[data-decorator-group-id="${e}"]`);if(t&&(this.vectorElement&&(this.vectorElement===t||t.contains(this.vectorElement))&&(this.vectorElement=null),this.animationElements=this.animationElements.filter(e=>!t.contains(e)),t.remove()),!r.querySelector("g[data-decorator-group-id]")){const t=r.querySelector(`defs[data-defs-for="${n}"]`);t&&t.remove(),r.remove()}}0===t.children.length&&(t.remove(),wc.svgContainerCache.delete(this.overlay))}catch(t){Rr("벡터 요소 제거 실패:",t)}}removeDOMElements(){this.removeVectorElements()}delta(t,e){if("string"==typeof t)return"fade"===t?this.applyFadeValue(e):"theta"===t&&this.applyRotationValue(e),{tx:0,ty:0};if("object"==typeof t){const e=t;("tx"in e||"ty"in e)&&this.applyTranslateValues(e.tx||0,e.ty||0),("sx"in e||"sy"in e)&&this.applyScaleValues(e.sx||1,e.sy||1)}return null}invalidate(){this.mode===mc.DOM&&this.isActive&&this.updateDOMElements()}touch(){}applyFadeValue(t){if(this.vectorElement){const e=t.toFixed(2);this.vectorElement.setAttribute("opacity",e)}}applyRotationValue(t){if(this.vectorElement){const e=this.getComponentBounds(),n=e.width/2,r=e.height/2,i=(180*t/Math.PI).toFixed(1);this.vectorElement.setAttribute("transform",`rotate(${i} ${n} ${r})`)}}applyTranslateValues(t,e){if(this.vectorElement){const n=this.vectorElement.getAttribute("transform")||"";if(n.includes("translate")){const r=n.replace(/translate\([^)]+\)/,`translate(${t}, ${e})`);this.vectorElement.setAttribute("transform",r)}else this.vectorElement.setAttribute("transform",`${n} translate(${t}, ${e})`.trim())}}applyScaleValues(t,e){if(this.vectorElement){const n=this.vectorElement.getAttribute("transform")||"";if(n.includes("scale")){const r=n.replace(/scale\([^)]+\)/,`scale(${t}, ${e})`);this.vectorElement.setAttribute("transform",r)}else this.vectorElement.setAttribute("transform",`${n} scale(${t}, ${e})`.trim())}}getComponentBounds(){return this.target&&this.target.bounds?this.target.bounds:{top:0,left:0,width:100,height:100}}}wc.svgContainerCache=new WeakMap,wc.DECORATOR_TYPE="vector";class Ac extends xc{constructor(t,e,n={}){super(t,e,{scale:1,strokeColor:"#000000",strokeWidth:1,rotation:0,shadow:!1,shadowColor:"rgba(0,0,0,0.5)",shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,...n}),this.animationId=null,this.canvasElement=null,this.context=null,this.animationFrame=null,this.deltaValue=0}determineOptimalMode(){return mc.CANVAS}createDOMElements(){Lr("RasterDecorator는 DOM 렌더링을 지원하지 않습니다. Canvas 모드를 사용하세요.")}setAnimationState(t=3e3,e=!1){Ac.animationStateMap.set(this.target,{startTime:Date.now(),duration:t,repeat:e})}getAnimationState(){const t=Ac.animationStateMap.get(this.target);if(!t)return{delta:0,finished:!0};const{startTime:e,duration:n,repeat:r}=t,i=Date.now()-e;let s=Math.min(1,i/n),o=s>=1;return r&&o&&(Ac.animationStateMap.set(this.target,{startTime:Date.now(),duration:n,repeat:r}),s=0,o=!1),{delta:s,finished:o}}bounceEffect(t,e=10){const n=Math.min(1,4*t);return Math.sin(n*Math.PI*10)*e*(1-n)}fadeEffect(t,e=!1){return e?t:1-t}pulseEffect(t,e=.8,n=1.2){return e+(.5*Math.sin(t*Math.PI*2)+.5)*(n-e)}rotateEffect(t,e=360){return t*e}applyShadowEffect(t){if(this.options.shadow){const e=this.options;t.shadowColor=e.shadowColor||"rgba(0,0,0,0.5)",t.shadowBlur=e.shadowBlur||5,t.shadowOffsetX=e.shadowOffsetX||2,t.shadowOffsetY=e.shadowOffsetY||2}}removeShadowEffect(t){t.shadowColor="transparent",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0}start(){super.start(),this.isActive&&this.options.animation&&this.setAnimationState(this.options.duration||3e3,this.options.repeat||!1)}stop(){null!==this.animationFrame&&(cancelAnimationFrame(this.animationFrame),this.animationFrame=null),super.stop(),Ac.animationStateMap.delete(this.target)}applyTransform(t,e,n){const r=this.options,i=r.scale||1,s=r.rotation||0;if(1!==i||0!==s){if(t.translate(e,n),0!==s){const e=s*Math.PI/180;t.rotate(e)}1!==i&&t.scale(i,i),t.translate(-e,-n)}}delta(t,e){return"string"==typeof t?("fade"===t?(this.deltaValue=e,this.context&&(this.context.globalAlpha=e)):"theta"===t&&(this.deltaValue=e),{tx:0,ty:0}):null}invalidate(){this.context&&this.isActive&&(this.animationFrame||(this.animationFrame=requestAnimationFrame(()=>{this.animationFrame=null,this.renderCanvas(this.context,this.deltaValue)})))}touch(){this.deltaValue=0}}Ac.animationStateMap=new WeakMap;class Sc extends wc{constructor(t,e,n={}){super(t,e,{size:1,showId:!1,animation:!1,...n}),this.arrowElement=null,this.labelElement=null,this.decoratorGroup=null}createDOMElements(){if(this.overlay)try{const t=this.getOrCreateDecoratorGroup(!0);this.decoratorGroup=t,t.setAttribute("transform","translate(0, 0)");const{size:e=1,showId:n=!1,duration:r=3e3,repeat:i=!0}=this.options,s=this.options.color||"#FF0000",o=document.createElementNS("http://www.w3.org/2000/svg","path");o.setAttribute("d",this.createArrowPath(0,0,e)),o.setAttribute("fill",s),o.setAttribute("stroke",s),o.setAttribute("stroke-width","1"),o.setAttribute("class","bouncing-arrow");const a=[];if(this.options.animation){const t=this.createBounceAnimation(r,i);if(a.push(t),this.options.fadeOut){const t=this.createFadeAnimation(1,0,r,{repeat:i});a.push(t)}}if(this.addAnimations(o,a),t.appendChild(o),this.arrowElement=o,n&&this.target.state?.id){const n=this.createArrowLabel(0,0,s,this.target.state.id,e);if(this.options.animation){const t=[],e=this.createBounceAnimation(r,i);if(t.push(e),this.options.fadeOut){const e=this.createFadeAnimation(1,0,r,{repeat:i});t.push(e)}this.addAnimations(n,t)}t.appendChild(n),this.labelElement=n}this.vectorElement=t,this.updatePosition(),this.options.animation&&this.startAnimations()}catch(t){Rr("화살표 SVG 요소 생성 실패:",t)}}createArrowPath(t,e,n=1){const r=n/this.getScale();return`\n M${t-10*r},${e-16*r} \n L${t+10*r},${e-16*r} \n L${t+10*r},${e-8*r} \n L${t+16*r},${e-8*r} \n L${t},${e} \n L${t-16*r},${e-8*r} \n L${t-10*r},${e-8*r} \n Z\n `}getScale(){try{if(this.target.rootModel&&"number"==typeof this.target.rootModel.scale)return this.target.rootModel.scale||1}catch(t){Lr("스케일 계산 실패, 기본값 사용",t)}return 1}createBounceAnimation(t,e){const n=["0,-10"],r=["0"];for(let t=1;t<=20;t++){const e=t/20;let i=Math.pow(e,.5).toFixed(3);parseFloat(r[r.length-1])>=parseFloat(i)&&(i=(parseFloat(r[r.length-1])+.01).toFixed(3)),n.push("0,0"),n.push("0,-10"),r.push(i),r.push((parseFloat(i)+.01).toFixed(3))}return r[r.length-1]="1.000",this.createTranslateAnimation(n,r,t,{repeat:e})}createArrowLabel(t,e,n,r,i=1){const s=document.createElementNS("http://www.w3.org/2000/svg","g");s.setAttribute("class","bouncing-arrow-label");const o=document.createElementNS("http://www.w3.org/2000/svg","rect");o.setAttribute("x",`${t+20*i}`),o.setAttribute("y",""+(e-20*i)),o.setAttribute("width",""+40*i),o.setAttribute("height",""+20*i),o.setAttribute("rx","3"),o.setAttribute("fill",n);const a=document.createElementNS("http://www.w3.org/2000/svg","text");return a.setAttribute("x",`${t+40*i}`),a.setAttribute("y",""+(e-6*i)),a.setAttribute("fill","white"),a.setAttribute("font-size",12*i+"px"),a.setAttribute("text-anchor","middle"),a.textContent=r,s.appendChild(o),s.appendChild(a),s}startAnimations(){setTimeout(()=>{this.animationElements.forEach(t=>{try{t instanceof SVGElement&&"beginElement"in t&&t.beginElement()}catch(t){Rr("애니메이션 시작 오류:",t)}})},10)}invalidate(){this.updatePosition()}updatePosition(){if(!this.vectorElement)return;const{left:t,top:e,width:n}=this.target.bounds,r=this.projectComponentPoint(this.target,t+n/2,e);if(!r)return;const i=Math.max(r.x,20),s=Math.max(r.y,20);this.vectorElement.setAttribute("transform",`translate(${i}, ${s})`)}}Sc.DECORATOR_TYPE="bouncing-arrow",function(t){t.ROTATE="rotate",t.TRANSLATE_X="translateX",t.TRANSLATE_Y="translateY",t.SCALE="scale",t.FADE="fade"}(yc||(yc={})),function(t){t.VIBRATION="vibration",t.ROTATION="rotation",t.HEARTBEAT="heartbeat",t.MOVING="moving",t.OUTLINE="outline",t.FADE="fade",t.WAYPOINT="waypoint"}(bc||(bc={})),function(t){t.CENTER="center",t.TOP="top",t.RIGHT="right",t.BOTTOM="bottom",t.LEFT="left",t.TOP_RIGHT="top-right",t.BOTTOM_RIGHT="bottom-right",t.BOTTOM_LEFT="bottom-left",t.TOP_LEFT="top-left",t.TOP_LEFT_CORNER="top-left-corner",t.TOP_RIGHT_CORNER="top-right-corner",t.BOTTOM_LEFT_CORNER="bottom-left-corner",t.BOTTOM_RIGHT_CORNER="bottom-right-corner",t.LEFT_TOP="left-top",t.LEFT_BOTTOM="left-bottom",t.RIGHT_TOP="right-top",t.RIGHT_BOTTOM="right-bottom"}(vc||(vc={}));class Mc extends wc{constructor(t,e,n={}){const{animations:r,...i}=n;super(t,e,{icon:"arrow_forward",size:24,color:"#FF0000",deltaX:0,deltaY:0,...i}),this.animations=[],this._location=null,this.element=null,this._delta={theta:0,tx:0,ty:0,sx:1,sy:1,fade:0},this.animations=this.createAnimations(r)}delta(t,e){if(!t)return this._delta;switch(typeof t){case"object":this._delta={...this._delta,...t};break;case"string":if(void 0===e)return this._delta[t];this._delta[t]=e}const{tx:n,ty:r,sx:i,sy:s,theta:o,fade:a}=this._delta;return this.element&&Object.assign(this._getElement().style,{opacity:1-a,transform:`rotate(${o}rad) translate(${n}px, ${r}px) scale(${i}, ${s}) perspective(1px)`}),this._delta}getScaledSize(){const t=this.options.size||24,{x:e}=this.target.rootModel?.state.scale||{x:1},{x:n}=this.target.state.scale||{x:1};return t*e*n}get location(){if(this._location)return this._location;const{location:t,position:e,size:n}=this.options,{bounds:r}=this.target,{left:i,top:s,width:o,height:a}=r,c=n/2;let l;switch(e||t||vc.CENTER){case vc.TOP_LEFT:case"top-left":l={x:i,y:s-n};break;case vc.TOP:case"top":l={x:i+(o-n)/2,y:s-n};break;case vc.TOP_RIGHT:case"top-right":l={x:i+o-n,y:s-n};break;case vc.BOTTOM_LEFT:case"bottom-left":l={x:i,y:s+a};break;case vc.BOTTOM:case"bottom":l={x:i+(o-n)/2,y:s+a};break;case vc.BOTTOM_RIGHT:case"bottom-right":l={x:i+o-n,y:s+a};break;case vc.LEFT_TOP:case"left-top":l={x:i-n,y:s};break;case vc.LEFT:case"left":l={x:i-n,y:s+(a-n)/2};break;case vc.LEFT_BOTTOM:case"left-bottom":l={x:i-n,y:s+(a-n)};break;case vc.RIGHT_TOP:case"right-top":l={x:i+o,y:s};break;case vc.RIGHT:case"right":l={x:i+o,y:s+(a-n)/2};break;case vc.RIGHT_BOTTOM:case"right-bottom":l={x:i+o,y:s+(a-n)};break;case vc.TOP_LEFT_CORNER:case"top-left-corner":l={x:i-c,y:s-c};break;case vc.TOP_RIGHT_CORNER:case"top-right-corner":l={x:i+o-c,y:s-c};break;case vc.BOTTOM_LEFT_CORNER:case"bottom-left-corner":l={x:i-c,y:s+a-c};break;case vc.BOTTOM_RIGHT_CORNER:case"bottom-right-corner":l={x:i+o-c,y:s+a-c};break;case vc.CENTER:default:l={x:i+o/2-n/2,y:s+a/2-n/2}}return this._location=this.toGlobal(l.x,l.y),this._location}_getElement(){return this.element||this._createElementIfNeeded(),this.element}_createElementIfNeeded(){if(this.element)return;const{icon:t="arrow_forward",color:e="#FF0000"}=this.options,n=this.getScaledSize(),{x:r,y:i}=this.location,s=document.createElement("div");s.setAttribute("scene","animated-icon"),Object.assign(s.style,{position:"absolute",fontVariationSettings:"'FILL' 1",fontFamily:"Material Symbols Outlined",fontSize:n+"px",width:n+"px",height:n+"px",lineHeight:n+"px",padding:0,margin:0,color:e,textAlign:"center",verticalAlign:"middle",left:r+"px",top:i+"px",pointerEvents:"none"}),s.textContent=t,this.element=s}updateIconSizeAndPosition(){if(!this.element)return;this._location=null;const t=this.getScaledSize(),{x:e,y:n}=this.location;Object.assign(this.element.style,{fontSize:t+"px",width:t+"px",height:t+"px",lineHeight:t+"px",left:e+"px",top:n+"px"})}touch(){}invalidate(){this.updateIconSizeAndPosition()}start(){super.start(),this.isActive&&(this.overlay&&this._getElement().parentNode!==this.overlay&&this.overlay.appendChild(this._getElement()),this.animations.forEach(t=>t.start()))}stop(){this.animations.forEach(t=>t.stop()),this.element&&this._getElement().parentNode&&this._getElement().parentNode.removeChild(this._getElement()),this._location=null,super.stop()}get center(){const t=this.getScaledSize(),{x:e,y:n}=this.location;return{x:e+t/2,y:n+t/2}}toGlobal(t,e){const{tx:n,ty:r}=this._delta;return this.projectComponentPoint(this.target,t+n,e+r)??this.target.toGlobal(t+n,e+r)}get root(){return this.target.root}createDOMElements(){this._getElement()}updateDOMElements(){this.element?this.updateIconSizeAndPosition():this._getElement()}updatePosition(){this.updateIconSizeAndPosition()}createAnimations(t){if(Array.isArray(t))return t.map(t=>("theta"in t&&(t={...t,theta:t.theta*(Math.PI/180)}),No(this,t)));if(t){const e={...t};return"theta"in e&&(e.theta=e.theta*(Math.PI/180)),[No(this,e)]}return[]}}Mc.DECORATOR_TYPE="animated-icon";class Ec extends wc{constructor(t,e,n={}){super(t,e,{distance:10,lineWidth:2,fillStyle:"rgba(0, 0, 0, 0.5)",animation:!1,...n}),this.pathElement=null,this.decoratorGroup=null,this.elementId=""}createDOMElements(){if(this.overlay)try{this.getSvgContainer();const t=this.getOrCreateDecoratorGroup(!0);this.decoratorGroup=t;const e=this.getDefsForType(),n=this.getVectorGroupId();this.elementId=`${n}-border`;const{color:r="#FF0000",animation:i=!1}=this.options,{fillStyle:s}=this.target.state||{},o=this.createFilter(this.elementId,this.options.fillStyle||s||"rgba(0, 0, 0, 0.5)");if(e.appendChild(o),i){const t=this.createGradient(this.elementId,r);e.appendChild(t)}const a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("fill","none"),a.setAttribute("stroke-width",(this.options.lineWidth||2).toString()),a.setAttribute("stroke-linejoin","round"),a.setAttribute("pointer-events","none"),a.setAttribute("class","border-highlighting-path"),a.setAttribute("filter",`url(#${this.elementId}-filter)`),i?a.setAttribute("stroke",`url(#${this.elementId})`):a.setAttribute("stroke",r),t.appendChild(a),this.pathElement=a,this.vectorElement=t,this.updatePathData(),this.options.animation&&this.startAnimations()}catch(t){Rr("테두리 하이라이팅 요소 생성 실패:",t)}}updatePathData(){if(!this.pathElement)return;this.pathElement.setAttribute("visibility","visible"),this.pathElement.setAttribute("opacity","1"),this.decoratorGroup&&(this.decoratorGroup.setAttribute("visibility","visible"),this.decoratorGroup.setAttribute("opacity","1"));const t=this.getPathPoints(),e=this.createOffsetPath(t,this.options.distance),{round:n=0}=this.target.state||{},r=this.pointsToPathData(e,n);this.pathElement.setAttribute("d",r)}invalidate(){this.updatePathData()}startAnimations(){if(!this.isActive||!this.options.animation||!this.pathElement)return;this.pathElement.setAttribute("visibility","visible"),this.pathElement.setAttribute("opacity","1"),this.decoratorGroup&&(this.decoratorGroup.setAttribute("visibility","visible"),this.decoratorGroup.setAttribute("opacity","1")),this.elementId&&(this.pathElement.setAttribute("stroke",`url(#${this.elementId})`),this.pathElement.setAttribute("filter",`url(#${this.elementId}-filter)`));const t=this.getDefsForType();if(t){const e=t.querySelector(`#${this.elementId}`);if(e){e.querySelectorAll("animate").forEach(t=>{try{t instanceof SVGElement&&"beginElement"in t&&(t.setAttribute("restart","always"),t.beginElement())}catch(t){Rr("애니메이션 시작 오류:",t)}})}}}createDefsElement(t){const e=document.createElementNS("http://www.w3.org/2000/svg","defs");return t.appendChild(e),e}getPathPoints(){if(!this.target.path||!Array.isArray(this.target.path)){const{left:t,top:e,width:n,height:r}=this.target.bounds;return[{x:t,y:e},{x:t+n,y:e},{x:t+n,y:e+r},{x:t,y:e+r}]}return this.target.path.map(t=>this.target.toGlobal(t.x,t.y))}createOffsetPath(t,e){const n=[],r=t.length;for(let i=0;i<r;i++){const s=t[(i-1+r)%r],o=t[i],a=t[(i+1)%r],c=o.x-s.x,l=o.y-s.y,h=a.x-o.x,u=a.y-o.y,d=this.normalize({x:l,y:-c}),p=this.normalize({x:u,y:-h}),f=this.normalize({x:(d.x+p.x)/2,y:(d.y+p.y)/2}),g={x:o.x+f.x*e,y:o.y+f.y*e};n.push(g)}return n}normalize(t){const e=Math.sqrt(t.x*t.x+t.y*t.y);return{x:t.x/e||0,y:t.y/e||0}}pointsToPathData(t,e=0){if(t.length<2)return"";let n="";const r=t.length,i=(t,e,n)=>{const r=e.x-t.x,i=e.y-t.y,s=Math.sqrt(r*r+i*i);return{x:t.x+r/s*n,y:t.y+i/s*n}};for(let s=0;s<r;s++){const o=t[s],a=t[(s+1)%r],c=t[(s-1+r)%r],l=Math.sqrt((o.x-c.x)**2+(o.y-c.y)**2),h=Math.sqrt((o.x-a.x)**2+(o.y-a.y)**2),u=Math.min(e,l/2,h/2),d=i(o,c,u),p=i(o,a,u);n+=0===s?`M${d.x},${d.y}`:` L${d.x},${d.y}`,n+=` Q${o.x},${o.y} ${p.x},${p.y}`}return n+=" Z",n}createFilter(t,e){const n=document.createElementNS("http://www.w3.org/2000/svg","filter");n.setAttribute("id",`${t}-filter`);const r=document.createElementNS("http://www.w3.org/2000/svg","feFlood");r.setAttribute("flood-color",e),r.setAttribute("result","flood");const i=document.createElementNS("http://www.w3.org/2000/svg","feComposite");i.setAttribute("in","flood"),i.setAttribute("in2","SourceAlpha"),i.setAttribute("operator","in"),i.setAttribute("result","mask");const s=document.createElementNS("http://www.w3.org/2000/svg","feMerge"),o=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode");o.setAttribute("in","mask");const a=document.createElementNS("http://www.w3.org/2000/svg","feMergeNode");return a.setAttribute("in","SourceGraphic"),s.appendChild(o),s.appendChild(a),n.appendChild(r),n.appendChild(i),n.appendChild(s),n}createGradient(t,e){const n=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");n.setAttribute("id",t),n.setAttribute("x1","0%"),n.setAttribute("y1","0%"),n.setAttribute("x2","100%"),n.setAttribute("y2","0%");const r=this.alterColor(e,120),i=this.alterColor(e,240),s=document.createElementNS("http://www.w3.org/2000/svg","stop");s.setAttribute("offset","0%"),s.setAttribute("stop-color",e);const o=document.createElementNS("http://www.w3.org/2000/svg","animate");o.setAttribute("attributeName","stop-color"),o.setAttribute("values",`${e};${r};${i};${e}`),o.setAttribute("dur","5s"),o.setAttribute("repeatCount","indefinite");const a=document.createElementNS("http://www.w3.org/2000/svg","stop");a.setAttribute("offset","100%"),a.setAttribute("stop-color",i);const c=document.createElementNS("http://www.w3.org/2000/svg","animate");return c.setAttribute("attributeName","stop-color"),c.setAttribute("values",`${i};${e};${r};${i}`),c.setAttribute("dur","5s"),c.setAttribute("repeatCount","indefinite"),s.appendChild(o),a.appendChild(c),n.appendChild(s),n.appendChild(a),n}alterColor(t,e){const n=this.convertToHex(t),r=parseInt(n.substring(1,3),16),i=parseInt(n.substring(3,5),16),s=parseInt(n.substring(5,7),16),o=this.rgbToHsl(r,i,s);o[0]=(o[0]+e/360)%1;const a=this.hslToRgb(o[0],o[1],o[2]);return`#${a[0].toString(16).padStart(2,"0")}${a[1].toString(16).padStart(2,"0")}${a[2].toString(16).padStart(2,"0")}`}rgbToHsl(t,e,n){t/=255,e/=255,n/=255;const r=Math.max(t,e,n),i=Math.min(t,e,n);let s=0,o=0;const a=(r+i)/2;if(r!==i){const c=r-i;switch(o=a>.5?c/(2-r-i):c/(r+i),r){case t:s=(e-n)/c+(e<n?6:0);break;case e:s=(n-t)/c+2;break;case n:s=(t-e)/c+4}s/=6}return[s,o,a]}hslToRgb(t,e,n){let r,i,s;if(0===e)r=i=s=n;else{const o=(t,e,n)=>(n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t),a=n<.5?n*(1+e):n+e-n*e,c=2*n-a;r=o(c,a,t+1/3),i=o(c,a,t),s=o(c,a,t-1/3)}return[Math.round(255*r),Math.round(255*i),Math.round(255*s)]}convertToHex(t){if(/^#([0-9A-F]{6})$/i.test(t))return t;const e=document.createElement("canvas");e.width=1,e.height=1;const n=e.getContext("2d");if(!n)return"#FF0000";n.fillStyle=t,n.fillRect(0,0,1,1);const r=n.getImageData(0,0,1,1).data;return`#${r[0].toString(16).padStart(2,"0")}${r[1].toString(16).padStart(2,"0")}${r[2].toString(16).padStart(2,"0")}`}start(){super.start(),this.isActive&&this.options.animation&&this.startAnimations()}removeDOMElements(){try{if(this.pathElement&&this.pathElement.parentNode&&this.pathElement.parentNode.removeChild(this.pathElement),this.pathElement=null,this.overlay){const t=this.getDefsForType();if(t&&this.elementId){const e=t.querySelector(`#${this.elementId}-filter`);e&&e.remove();const n=t.querySelector(`#${this.elementId}`);n&&n.remove()}}super.removeDOMElements()}catch(t){Rr("테두리 하이라이팅 요소 제거 중 오류:",t)}}}Ec.DECORATOR_TYPE="border-highlighting";class kc extends wc{constructor(t,e,n={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:3,padding:3,fontSize:"12px",fontFamily:"Arial",...n}),this.textElements=[],this.rectElements=[]}updateDOMElements(){if(!this.target.anchors||!this.target.anchors.length)return void this.removeDOMElements();const t=this.options,e=this.target.anchors,n=this.getOrCreateDecoratorGroup(!0);this.textElements=[],this.rectElements=[];const r=this.getComponentBounds();e.forEach(e=>{const{name:i,position:s}=e;let{x:o,y:a}=s||{};if(!i)return;let c=this.calculateOffsetX(o,r),l=this.calculateOffsetY(a,r);const h=this.projectComponentPoint(this.target,o,a);if(!h)return;o=h.x,a=h.y;const u=document.createElementNS("http://www.w3.org/2000/svg","text");u.setAttribute("fill",t.textColor),u.setAttribute("font-family",t.fontFamily),u.setAttribute("font-size",t.fontSize),u.textContent=i,n.appendChild(u);const d=u.getBBox();n.removeChild(u);const p=d.width,f=d.height;c=-1==c?-p-9:3,l=-1==l?-f-9:3,u.setAttribute("x",(o+c+3).toString()),u.setAttribute("y",(a+l+f).toString());const g=document.createElementNS("http://www.w3.org/2000/svg","rect");g.setAttribute("x",(o+c).toString()),g.setAttribute("y",(a+l).toString()),g.setAttribute("width",(p+6).toString()),g.setAttribute("height",(f+6).toString()),g.setAttribute("rx",t.cornerRadius.toString()),g.setAttribute("ry",t.cornerRadius.toString()),g.setAttribute("fill",t.bgColor),n.appendChild(g),n.appendChild(u),this.rectElements.push(g),this.textElements.push(u)})}calculateOffsetX(t,e){return t<e.left+1?-1:1}calculateOffsetY(t,e){return t<e.top+1?-1:1}updatePosition(){super.updatePosition(),this.updateDOMElements()}invalidate(){this.updatePosition()}createDOMElements(){this.updateDOMElements()}}kc.DECORATOR_TYPE="anchors";class Cc extends wc{constructor(t,e,n={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:3,padding:3,fontSize:"12px",fontFamily:"Arial",offsetX:3,offsetY:-8,animation:!1,...n}),this.textElement=null,this.backgroundElement=null,this.currentTag=""}createDOMElements(){const t=this.target.decotag;if(!t)return;this.currentTag=t;const{fontFamily:e,fontSize:n,textColor:r,padding:i,cornerRadius:s,bgColor:o,animation:a,repeat:c,duration:l}=this.options,h=this.getOrCreateDecoratorGroup(!0);h.setAttribute("transform","translate(0, 0)"),this.textElement=document.createElementNS("http://www.w3.org/2000/svg","text"),this.textElement.textContent=t,this.textElement.setAttribute("x",`${i}`),this.textElement.setAttribute("y",`-${n}`),this.textElement.setAttribute("font-family",e),this.textElement.setAttribute("font-size",n),this.textElement.setAttribute("fill",r),this.textElement.setAttribute("dominant-baseline","middle"),h.appendChild(this.textElement);const u=this.textElement.getBBox();if(this.backgroundElement=document.createElementNS("http://www.w3.org/2000/svg","rect"),this.backgroundElement.setAttribute("x",(u.x-i).toString()),this.backgroundElement.setAttribute("y",(u.y-i).toString()),this.backgroundElement.setAttribute("width",(u.width+2*i).toString()),this.backgroundElement.setAttribute("height",(u.height+2*i).toString()),this.backgroundElement.setAttribute("rx",s.toString()),this.backgroundElement.setAttribute("ry",s.toString()),this.backgroundElement.setAttribute("fill",o),h.replaceChildren(),h.appendChild(this.backgroundElement),h.appendChild(this.textElement),a){const t=this.createFadeAnimation(.3,1,l,{repeat:c});this.addAnimations(h,[t])}this.vectorElement=h,this.updatePosition()}updateDOMElements(){const t=this.target.decotag;t&&t===this.currentTag?this.vectorElement&&this.updatePosition():(this.removeDOMElements(),this.createDOMElements())}updatePosition(){super.updatePosition()}invalidate(){this.updatePosition()}}Cc.DECORATOR_TYPE="decotag";class Tc extends wc{constructor(t,e,n={}){super(t,e,{arrowColor:"#FFA500",arrowHeadLength:12,lineWidth:1.5,startAlpha:.6,endAlpha:1,animated:!0,animationDuration:5e3,repeat:!1,...n}),this.currentMappings=null}createDOMElements(){if(this.removeDOMElements(),!this.target.mappings||!this.target.mappings.length)return;this.currentMappings=this.target.mappings;const t=this.options,e=this.getOrCreateDecoratorGroup(!0),n=this.getDefsForType(),r=`data-spread-style-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,i=document.createElementNS("http://www.w3.org/2000/svg","style");i.setAttribute("id",r),i.textContent=`\n @keyframes fadeOut {\n from { opacity: 1; }\n to { opacity: ${t.repeat?"0.2":"0"}; }\n }\n .arrow-animated {\n animation: fadeOut ${t.animationDuration||2e3}ms linear ${t.repeat?"infinite":"1"} forwards;\n }\n `,n.appendChild(i);const s=`arrow-gradient-${Date.now()}-${Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}`,o=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");o.setAttribute("id",s),o.setAttribute("gradientUnits","userSpaceOnUse");const a=document.createElementNS("http://www.w3.org/2000/svg","stop");a.setAttribute("offset","0%"),a.setAttribute("stop-color",t.arrowColor||"#FFA500"),a.setAttribute("stop-opacity",(t.startAlpha||.5).toString());const c=document.createElementNS("http://www.w3.org/2000/svg","stop");c.setAttribute("offset","100%"),c.setAttribute("stop-color",t.arrowColor||"#FFA500"),c.setAttribute("stop-opacity",(t.endAlpha||1).toString()),o.appendChild(a),o.appendChild(c),n.appendChild(o);const l=document.createElementNS("http://www.w3.org/2000/svg","g");l.setAttribute("class",t.animated?"arrow-animated":""),e.appendChild(l);this.target.mappings.forEach(e=>{const n=this.target.root.findAll(e.target,this.target);n&&n.length&&n.forEach(e=>{const n=this.target.center,r=e.center,i=this.projectComponentPoint(this.target,n.x,n.y),a=this.projectComponentPoint(e,r.x,r.y);if(!i||!a)return;o.setAttribute("x1",i.x.toString()),o.setAttribute("y1",i.y.toString()),o.setAttribute("x2",a.x.toString()),o.setAttribute("y2",a.y.toString());const{linePath:c,headPath:h}=this.createArrowPaths(i,a,t.arrowHeadLength),u=document.createElementNS("http://www.w3.org/2000/svg","path");u.setAttribute("d",c),u.setAttribute("stroke",`url(#${s})`),u.setAttribute("stroke-width",String(t.lineWidth||2)),u.setAttribute("fill","none"),u.setAttribute("data-target-id",e.state?.id||""),u.setAttribute("data-source-id",this.target.state?.id||"");const d=document.createElementNS("http://www.w3.org/2000/svg","path");d.setAttribute("d",h),d.setAttribute("fill",t.arrowColor||"#FFA500"),d.setAttribute("stroke","none"),l.appendChild(u),l.appendChild(d)})}),this.vectorElement=e}createArrowPaths(t,e,n){const r=e.x-t.x,i=e.y-t.y,s=Math.atan2(i,r),o=e.x+n*Math.cos(s+Tc.ARROW_ANGLE_1),a=e.y+n*Math.sin(s+Tc.ARROW_ANGLE_1),c=e.x+n*Math.cos(s+Tc.ARROW_ANGLE_2),l=e.y+n*Math.sin(s+Tc.ARROW_ANGLE_2);return{linePath:`M ${t.x} ${t.y} L ${e.x} ${e.y}`,headPath:`M ${e.x} ${e.y} L ${o} ${a} L ${c} ${l} Z`}}updateDOMElements(){if(!this.target.app?.isEditMode)return void this.removeDOMElements();const t=this.target.mappings;t&&t===this.currentMappings?this.vectorElement&&this.updatePosition():(this.removeDOMElements(),requestAnimationFrame(()=>{this.createDOMElements()}))}updatePosition(){const t=this.getDecoratorType(),e=this.getSvgContainer().querySelector(`g[data-decorator-type-container="${t}"]`);if(!e)return;const n=this.getVectorGroupId(),r=e.querySelector(`g[data-decorator-group-id="${n}"]`);if(!r)return;const i=this.options;if(!this.target.mappings||!this.target.mappings.length)return;const s=r.querySelector("g.arrow-animated")||r,o=Array.from(s.querySelectorAll('path[fill="none"]')),a=Array.from(s.querySelectorAll('path[stroke="none"]'));if(0===o.length)return;const c=e.querySelector(`defs[data-defs-for="${t}"]`);if(!c)return;const l=c.querySelector("linearGradient");if(!l)return;const h=this.target.mappings;let u=[];h.forEach(t=>{const e=this.target.root.findAll(t.target,this.target);e&&e.length&&(u=[...u,...e])});for(let t=0;t<Math.min(o.length,a.length,u.length);t++){const e=o[t],n=a[t],r=u[t],s=this.target.center,c=r.center,h=this.projectComponentPoint(this.target,s.x,s.y),d=this.projectComponentPoint(r,c.x,c.y);if(!h||!d)continue;const{linePath:p,headPath:f}=this.createArrowPaths(h,d,i.arrowHeadLength);e.setAttribute("d",p),n.setAttribute("d",f),0===t&&l&&(l.setAttribute("x1",h.x.toString()),l.setAttribute("y1",h.y.toString()),l.setAttribute("x2",d.x.toString()),l.setAttribute("y2",d.y.toString()))}}removeDOMElements(){this.currentMappings=null;try{if(this.overlay){const t=this.getSvgContainer();if(t){const e=this.getDecoratorType(),n=t.querySelector(`g[data-decorator-type-container="${e}"]`);if(n){const t=n.querySelector(`defs[data-defs-for="${e}"]`);if(t){t.querySelectorAll("style").forEach(t=>t.remove());t.querySelectorAll("linearGradient").forEach(t=>t.remove())}}}}this.animationElements=[],super.removeDOMElements()}catch(t){Rr("데이터 스프레드 데코레이터 요소 제거 중 오류:",t)}}invalidate(){this.updatePosition()}}Tc.DECORATOR_TYPE="data-spread",Tc.ARROW_ANGLE_1=160*Math.PI/180,Tc.ARROW_ANGLE_2=200*Math.PI/180;class Pc extends wc{constructor(t,e,n={}){super(t,e,{bgColor:"#FF0000",textColor:"white",cornerRadius:2,padding:2,fontSize:"12px",fontFamily:"Arial",offsetX:4,offsetY:4,...n}),this.textElements=[],this.rectElements=[]}createDOMElements(){this.updateDOMElements()}updateDOMElements(){if(!this.target.isLine||!this.target.isLine())return void this.removeDOMElements();const{offsetX:t,offsetY:e,padding:n,textColor:r,bgColor:i,cornerRadius:s,fontSize:o,fontFamily:a}=this.options,c=this.getOrCreateDecoratorGroup(!0);this.textElements=[],this.rectElements=[];const{fromEnd:l,toEnd:h}=this.target;[l,h].filter(Boolean).forEach(l=>{const{component:h,anchor:u}=l;if(!u)return;const{name:d,position:p}=u||{};if(!h.rootModel||!d||!p)return;const f=this.projectComponentPoint(h,p.x,p.y);if(!f)return;let{x:g,y:m}=f;const y=document.createElementNS("http://www.w3.org/2000/svg","g"),b=document.createElementNS("http://www.w3.org/2000/svg","text");b.setAttribute("text-anchor","middle"),b.setAttribute("dominant-baseline","middle"),b.setAttribute("x","0"),b.setAttribute("y","0"),b.setAttribute("fill",r),b.setAttribute("font-family",a),b.setAttribute("font-size",o),b.textContent=d,c.appendChild(b);const v=b.getBBox();c.removeChild(b);const x=document.createElementNS("http://www.w3.org/2000/svg","rect"),_=v.width+2*(n??0),w=v.height+2*(n??0);g+=(t??0)+_/2,m+=(e??0)+w/2,x.setAttribute("x",(-_/2).toString()),x.setAttribute("y",(-w/2).toString()),x.setAttribute("width",_.toString()),x.setAttribute("height",w.toString()),x.setAttribute("rx",(s??0).toString()),x.setAttribute("ry",(s??0).toString()),x.setAttribute("fill",i),y.appendChild(x),y.appendChild(b),y.setAttribute("transform",`translate(${g}, ${m})`),c.appendChild(y),this.rectElements.push(x),this.textElements.push(b)})}updatePosition(){super.updatePosition(),this.updateDOMElements()}invalidate(){this.updatePosition()}}Pc.DECORATOR_TYPE="link",ms.registerDecorator("bouncing-arrow",Sc),ms.registerDecorator("animated-icon",Mc),ms.registerDecorator("border-highlighting",Ec),ms.registerDecorator("anchors",kc),ms.registerDecorator("decotag",Cc),ms.registerDecorator("data-spread",Tc),ms.registerDecorator("link",Pc);class Oc{constructor(t){this.params=Object.assign({},t)}excute(){}}class Dc extends Oc{execute(){this.params.changes.forEach(t=>t.component.set(t.after))}static before(t){return t.map(t=>({component:t}))}static after(t,e){e.execute(null,!1)}static around(t,e,n){e.call(n),t.execute(null,!1)}}const jc="left",Ic="right",zc="center",Rc="bottom",Lc="middle",Fc=[jc,Ic,zc,"top",Lc,Rc];function Nc(t){if(!this.hasSameParentForAllSelected||-1===Fc.indexOf(t))return;const e=this.selected.filter(t=>!t.stuck);if(e.length<=1)return;const n=this.app.commander;Dc.around(n,function(){!function(t,e){const n=JSON.parse(JSON.stringify(e[0].bounds));let r=n.left+n.width,i=n.top+n.height;for(let t=0;t<e.length;t++){const s=e[t].bounds;n.left=s.left>n.left?n.left:s.left,n.top=s.top>n.top?n.top:s.top,r=s.left+s.width>r?s.left+s.width:r,i=s.top+s.height>i?s.top+s.height:i}switch(n.width=r-n.left,n.height=i-n.top,t){case jc:for(let t=0;t<e.length;t++){const r=e[t].bounds;e[t].bounds={left:n.left,top:r.top,width:r.width,height:r.height}}break;case zc:for(let t=0;t<e.length;t++){const r=e[t].bounds;e[t].bounds={left:n.left+n.width/2-r.width/2,top:r.top,width:r.width,height:r.height}}break;case Ic:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={left:r-n.width,top:n.top,width:n.width,height:n.height}}break;case"top":for(let t=0;t<e.length;t++){const r=e[t].bounds;e[t].bounds={left:r.left,top:n.top,width:r.width,height:r.height}}break;case Lc:for(let t=0;t<e.length;t++){const r=e[t].bounds;e[t].bounds={left:r.left,top:n.top+n.height/2-r.height/2,width:r.width,height:r.height}}break;case Rc:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={left:n.left,top:i-n.height,width:n.width,height:n.height}}break;default:;}}(t,e)})}const Bc="VERTICAL",Gc=[Bc,"HORIZONTAL"];function Yc(t){if(!this.hasSameParentForAllSelected||-1===Gc.indexOf(t))return;const e=this.selected;if(e.length<=1)return;const n=this.app.commander;Dc.around(n,function(){!function(t,e){const n=e.filter(t=>!t.stuck).slice(0);n.sort(function(e,n){const r=e.center,i=n.center;return t===Bc?r.y-i.y:r.x-i.x});const r=n.reduce((e,n)=>e+(t===Bc?n.bounds.height:n.bounds.width),0),i=n[0].bounds,s=n[n.length-1].bounds,o=((t===Bc?s.top+s.height-i.top:s.left+s.width-i.left)-r)/(n.length-1);let a=t===Bc?i.top+i.height:i.left+i.width;for(let e=1;e<n.length-1;e++){const r=n[e],i=r.bounds;a+=o,t===Bc?(i.top=a,a+=i.height):(i.left=a,a+=i.width),r.bounds=i}}(t,e)})}function Uc(t){let e=0;for(;t&&!t.isRootModel();)e+=t.get("rotation")||0,t=t.parent;return e%(2*Math.PI)}class Hc extends Oc{execute(){this.params.changes.forEach(t=>{const{component:e,to_container:n,to_index:r,to_left:i,to_top:s}=t,o=function(t){if(t.isRootModel())return t.bounds;const{bounds:e,rotatePoint:n}=t;let r=n;return r=t.toScene(r.x,r.y),{left:r.x-(n.x-e.left),top:r.y-(n.y-e.top),width:e.width,height:e.height}}(e),a=Uc(e);if(e.removeSelf(!n),e.bounds=o,e.set("rotation",a),n){e.set("rotation",function(t,e){return((t.get("rotation")||0)-Uc(e))%(2*Math.PI)}(e,n));const o=function(t,e){if(e.isRootModel())return t.bounds;const{bounds:n,rotatePoint:r}=t,i=e.fromScene(r.x,r.y),s=e.bounds;return{left:i.x-(r.x-n.left)-s.left,top:i.y-(r.y-n.top)-s.top,width:n.width,height:n.height}}(e,n);t.to_left=void 0!==i?i:o.left,t.to_top=void 0!==s?s:o.top,e.bounds={left:t.to_left,top:t.to_top,width:o.width,height:o.height},void 0===r?n.addComponent(e):n.insertComponentAt(e,r)}})}}function Wc(t,e,n){this.app.commander.execute(new Hc({changes:[{component:t,to_container:e,to_index:n}]}))}function Vc(t){const e=this.selected.filter(t=>!t.stuck);if(0===e.length||e[0].isRootModel())return;if(e.length>1&&("forward"===t||"backward"===t))return;const n=e[0].parent;let r;if("forward"===t){const t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t+1}]}else if("backward"===t){const t=n.indexOf(e[0]);r=[{component:e[0],from_container:n,to_container:n,from_index:t,to_index:t-1}]}else r=e.filter(t=>t.parent===n).sort((e,r)=>{const i=n.indexOf(e)<n.indexOf(r);return"front"===t?i:!i}).map((e,r)=>(n.indexOf(e),{component:e,to_container:n,to_index:"front"===t?n.components.length-r-1:r}));const i=new Hc({changes:r});this.app.commander.execute(i)}function $c(t,e,n,r){const i=La.register(t.type);if(!i)return Lr("Class not found",t.type),null;n&&(t.refid=n(t.refid)),t.id&&r&&r(t.id)&&delete t.id;const s=new i(t,e);return t.components&&s.isContainer()&&(t.components.forEach(t=>{const i=$c(t,e,n,r);i&&s.addComponent(i)}),delete t.components),s.created(),s}function Xc(t,e){const n=Nn(t.hierarchy);return delete n.id,$c(n,t.app,e)}function qc(t,e,n){t instanceof Array||(t=[t]),n||(n=this.model_layer);const r=[],i=new Map;this.selected=t.map(t=>{try{return $c(t,n.app,t=>{const e=this.getNewRefid();return void 0!==t&&i.set(t,e),e},t=>(this.indexMap[t]||[])[0])}catch(t){return Lr(t),!1}}).filter(Boolean).map(t=>{const{left:s,top:o,width:a,height:c,x:l,y:h,cx:u,cy:d}=e;return t.replaceRefids(i),isNaN(s)||isNaN(o)||isNaN(a)||isNaN(c)||(t.bounds={left:s,top:o,width:a,height:c}),isNaN(l)||isNaN(h)||t.move({x:l,y:h},!1),isNaN(u)||isNaN(d)||(t.center={x:u,y:d}),r.push({component:t,to_container:n}),t}),this.app.commander.execute(new Hc({changes:r}))}function Kc(){const t=[],e=new Map;if(this.selected=this.selected.filter(t=>!t.isRootModel()).map(n=>{const r=Xc(n,t=>{const n=this.getNewRefid();return void 0!==t&&e.set(t,n),n});return r.move({x:20,y:20},!1),t.push({component:r,to_container:n.parent}),r}).map(t=>(t.replaceRefids(e),t)),0===t.length)return;const n=new Hc({changes:t});this.app.commander.execute(n)}function Zc(){const t=this.selected;this.selected=[];let e=null;const n=t.filter(t=>!t.isRootModel()&&(t.parent.focusible||t.parent.isGroup())).map(t=>(e||(e=t.parent),{component:t,to_container:null}));for(;e&&e.isGroup();){const t=[];if(e.components.filter(t=>!n.find(e=>e.component===t)).forEach(e=>t.push(e)),t.length>1)break;const r=e.parent;t.forEach(t=>n.push({component:t,to_container:r})),n.push({component:e,to_container:null}),e=r}n.length>0&&this.app.commander.execute(new Hc({changes:n})),e&&e.calculateBounds&&e.calculateBounds()}const Qc=new Set(["execute","redo","undo","command-reset"]);function Jc(t,e,n,r){const i=function(t,e){return Qc.has(e)?t.app?.commander:"mode"===e?t.app:t}(this,e);i?.[t](e,n,r)}function tl(t,e,n){Jc.call(this,"on",t,e,n)}function el(t,e,n){Jc.call(this,"once",t,e,n)}function nl(t,e,n){Jc.call(this,"off",t,e,n)}function rl(t){const e=this.target_element,n=t||this.fitMode,r=this;function i(){r.fit(n),document.fullscreenElement||document.removeEventListener("fullscreenchange",i)}document.addEventListener("fullscreenchange",i),e.requestFullscreen().catch(()=>{document.removeEventListener("fullscreenchange",i)})}let il=0;function sl(){const t=this.selected.filter(t=>!t.isRootModel()).map(t=>t.hierarchy);if(0!==t.length)return il=0,JSON.stringify(t,null,2)}function ol(){il=0;const t=sl.call(this);return Zc.call(this),t}function al(t){if(t)try{il++,qc.call(this,JSON.parse(t),{x:15*il,y:15*il})}catch(e){Rr(e,t)}}const cl=function(){return{escape:function(t){return t.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1")},parseExtension:t,mimeType:function(e){const n=t(e).toLowerCase();return function(){const t="application/font-woff",e="image/jpeg";return{woff:t,woff2:t,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:e,jpeg:e,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml"}}()[n]||""},dataAsUrl:function(t,e){return"data:"+e+";base64,"+t},isDataUrl:function(t){return-1!==t.search(/^(data:)/)},canvasToBlob:function(t){return t.toBlob?new Promise(function(e){t.toBlob(e)}):function(t){return new Promise(function(e){const n=window.atob(t.toDataURL().split(",")[1]),r=n.length,i=new Uint8Array(r);for(let t=0;t<r;t++)i[t]=n.charCodeAt(t);e(new Blob([i],{type:"image/png"}))})}(t)},resolveUrl:function(t,e){const n=document.implementation.createHTMLDocument(),r=n.createElement("base");n.head.appendChild(r);const i=n.createElement("a");return n.body.appendChild(i),r.href=e,i.href=t,i.href},getAndEncode:function(t){const e=3e4;ml.impl.options.cacheBust&&(t+=(/\?/.test(t)?"&":"?")+(new Date).getTime());return new Promise(function(n){const r=new XMLHttpRequest;let i;if(r.onreadystatechange=s,r.ontimeout=o,r.responseType="blob",r.timeout=e,r.open("GET",t,!0),r.send(),ml.impl.options.imagePlaceholder){const t=ml.impl.options.imagePlaceholder.split(/,/);t&&t[1]&&(i=t[1])}function s(){if(4!==r.readyState)return;if(200!==r.status)return void(i?n(i):a("cannot fetch resource: "+t+", status: "+r.status));const e=new FileReader;e.onloadend=function(){const t=e.result.split(/,/)[1];n(t)},e.readAsDataURL(r.response)}function o(){i?n(i):a("timeout of "+e+"ms occured while fetching resource: "+t)}function a(t){Rr(t),n("")}})},uid:function(){let t=0;return function(){return"u"+e()+t++;function e(){return("0000"+(Math.random()*Math.pow(36,4)|0).toString(36)).slice(-4)}}}(),delay:function(t){return function(e){return new Promise(function(n){setTimeout(function(){n(e)},t)})}},asArray:function(t){const e=[],n=t.length;for(let r=0;r<n;r++)e.push(t[r]);return e},escapeXhtml:function(t){return t.replace(/#/g,"%23").replace(/\n/g,"%0A")},makeImage:function(t){return new Promise(function(e,n){const r=new Image;r.onload=function(){e(r)},r.onerror=n,r.src=t})},width:function(t){const n=e(t,"border-left-width"),r=e(t,"border-right-width");return t.scrollWidth+n+r},height:function(t){const n=e(t,"border-top-width"),r=e(t,"border-bottom-width");return t.scrollHeight+n+r}};function t(t){const e=/\.([^\.\/]*?)$/g.exec(t);return e?e[1]:""}function e(t,e){const n=window.getComputedStyle(t).getPropertyValue(e);return parseFloat(n.replace("px",""))}}(),ll=function(){const t=/url\(['"]?([^'"]+?)['"]?\)/g;return{inlineAll:function(t,i,s){return o()?Promise.resolve(t):Promise.resolve(t).then(n).then(function(e){let n=Promise.resolve(t);return e.forEach(function(t){n=n.then(function(e){return r(e,t,i,s)})}),n});function o(){return!e(t)}},shouldProcess:e,impl:{readUrls:n,inline:r}};function e(e){return-1!==e.search(t)}function n(e){const n=[];let r;for(;null!==(r=t.exec(e));)n.push(r[1]);return n.filter(function(t){return!cl.isDataUrl(t)})}function r(t,e,n,r){return Promise.resolve(e).then(function(t){return n?cl.resolveUrl(t,n):t}).then(r||cl.getAndEncode).then(function(t){return cl.dataAsUrl(t,cl.mimeType(e))}).then(function(n){return t.replace(function(t){return new RegExp("(url\\(['\"]?)("+cl.escape(t)+")(['\"]?\\))","g")}(e),"$1"+n+"$3")})}}(),hl=function(){return{resolveAll:function(){return t().then(function(t){return Promise.all(t.map(function(t){return t.resolve()}))}).then(function(t){return t.join("\n")})},impl:{readAll:t}};function t(){return Promise.resolve(cl.asArray(document.styleSheets)).then(function(t){const e=[];return t.forEach(function(t){try{cl.asArray(t.cssRules||[]).forEach(t=>e.push(t))}catch(e){Lr("Error while reading CSS rules from "+t.href,e instanceof Error?e.message:String(e))}}),e}).then(function(t){return t.filter(function(t){return t.type===CSSRule.FONT_FACE_RULE}).filter(function(t){return ll.shouldProcess(t.style.getPropertyValue("src"))})}).then(function(e){return e.map(t)});function t(t){return{resolve:function(){const e=(t.parentStyleSheet||{}).href;return ll.inlineAll(t.cssText,e)},src:function(){return t.style.getPropertyValue("src")}}}}}(),ul=function(){return{inlineAll:function e(n){return n instanceof Element?r(n).then(function(){return n instanceof HTMLImageElement?t(n).inline().then(()=>n):Promise.all(cl.asArray(n.childNodes).map(function(t){return e(t)})).then(()=>n)}):Promise.resolve(n);function r(t){const e=t.style.getPropertyValue("background");return e?ll.inlineAll(e).then(function(e){t.style.setProperty("background",e,t.style.getPropertyPriority("background"))}).then(function(){return t}):Promise.resolve(t)}},impl:{newImage:t}};function t(t){return{inline:function(e){return cl.isDataUrl(t.src)?Promise.resolve():Promise.resolve(t.src).then(e||cl.getAndEncode).then(function(e){return cl.dataAsUrl(e,cl.mimeType(t.src))}).then(function(e){return new Promise(function(n,r){t.onload=n,t.onerror=r,t.src=e})})}}}}(),dl={imagePlaceholder:void 0,cacheBust:!1};function pl(t,e){return function(t){void 0===t.imagePlaceholder?ml.impl.options.imagePlaceholder=dl.imagePlaceholder:ml.impl.options.imagePlaceholder=t.imagePlaceholder;void 0===t.cacheBust?ml.impl.options.cacheBust=dl.cacheBust:ml.impl.options.cacheBust=t.cacheBust}(e=e||{}),Promise.resolve(t).then(function(t){return gl(t,e.filter,!0)}).then(function(t){return function(t){return ul.inlineAll(t).then(function(){return t})}(t)}).then(function(t){const{bgcolor:n,width:r,height:i,style:s,sx:o=1,sy:a=1}=e||{},c=t.style;n&&(c.backgroundColor=n);r&&(c.width=r+"px");i&&(c.height=i+"px");c["margin-left"]="0px",c["margin-top"]="0px",c.transform=`rotate(0rad) translate(0px, 0px) scale(${o}, ${a}) perspective(1px)`,s&&Object.keys(s).forEach(function(t){c[t]=s[t]});return t}).then(function(n){return function(t,e,n){return Promise.resolve(t).then(function(t){return t.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),(new XMLSerializer).serializeToString(t)}).then(cl.escapeXhtml).then(function(t){return'<foreignObject x="0" y="0" width="100%" height="100%">'+t+"</foreignObject>"}).then(function(t){return'<svg xmlns="http://www.w3.org/2000/svg" width="'+e+'" height="'+n+'">'+t+"</svg>"}).then(function(t){return"data:image/svg+xml;charset=utf-8,"+t})}(n,e.width||cl.width(t),e.height||cl.height(t))})}function fl(t,e){return pl(t,e).then(cl.makeImage).then(cl.delay(100)).then(function(n){const r=function(t){const n=document.createElement("canvas");if(n.width=e.width||cl.width(t),n.height=e.height||cl.height(t),e.bgcolor){const t=n.getContext("2d");t.fillStyle=e.bgcolor,t.fillRect(0,0,n.width,n.height)}return n}(t);return r.getContext("2d").drawImage(n,0,0),r})}function gl(t,e,n){return n||!e||e(t)?Promise.resolve(t).then(function(t){if(t instanceof HTMLCanvasElement)try{return cl.makeImage(t.toDataURL()).then(t=>t)}catch(t){Lr(t)}return t.cloneNode(!1)}).then(function(n){return function(t,e,n){const r=t.childNodes;return 0===r.length?Promise.resolve(e):i(e,cl.asArray(r),n).then(function(){return e});function i(t,e,n){let r=Promise.resolve();return e.forEach(function(e){r=r.then(function(){return gl(e,n,!1)}).then(function(e){e&&t.appendChild(e)})}),r}}(t,n,e)}).then(function(e){return function(t,e){return e instanceof Element?Promise.resolve().then(n).then(r).then(i).then(s).then(function(){return e}):e;function n(){function n(t,e){function n(t,e){cl.asArray(t).forEach(function(n){e.setProperty(n,t.getPropertyValue(n),t.getPropertyPriority(n))})}t.cssText?e.cssText=t.cssText:n(t,e)}n(window.getComputedStyle(t),e.style)}function r(){function n(n){const r=window.getComputedStyle(t,n),i=r.getPropertyValue("content");if(""===i||"none"===i)return;const s=cl.uid(),o=e;o.className=o.className+" "+s;const a=document.createElement("style");function c(t,e,n){const r="."+t+":"+e,i=n.cssText?s(n):o(n);return document.createTextNode(r+"{"+i+"}");function s(t){const e=t.getPropertyValue("content");return t.cssText+" content: "+e+";"}function o(t){return cl.asArray(t).map(e).join("; ")+";";function e(e){return e+": "+t.getPropertyValue(e)+(t.getPropertyPriority(e)?" !important":"")}}}a.appendChild(c(s,n,r)),e.appendChild(a)}[":before",":after"].forEach(function(t){n(t)})}function i(){t instanceof HTMLTextAreaElement&&e instanceof HTMLTextAreaElement&&(e.textContent=t.value),t instanceof HTMLInputElement&&e instanceof HTMLInputElement&&e.setAttribute("value",t.value)}function s(){e instanceof SVGElement&&(e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e instanceof SVGRectElement&&["width","height"].forEach(function(t){const n=e.getAttribute(t);n&&e.style.setProperty(t,n)}))}}(t,e)}):Promise.resolve(void 0)}const ml={toSvg:pl,toPng:function(t,e){return fl(t,e||{}).then(function(t){return t.toDataURL()})},toJpeg:function(t,e){return fl(t,e=e||{}).then(function(t){return t.toDataURL("image/jpeg",e.quality||1)})},toBlob:function(t,e){return fl(t,e||{}).then(t=>cl.canvasToBlob(t))},toPixelData:function(t,e){return fl(t,e||{}).then(function(e){return e.getContext("2d").getImageData(0,0,cl.width(t),cl.height(t)).data})},impl:{fontFaces:hl,images:ul,util:cl,inliner:ll,options:{}}};function yl(t,e,n,r){const i=this.model_layer,s=i._overlay;return new Promise(function(o,a){if(i){const a=i.get("width"),c=i.get("height");n=n||a,r=r||c;const l=i.get("translate"),h=i.get("scale"),u=Math.min(n/a,r/c);n=a*u,r=c*u,i.set("translate",{x:0,y:0}),i.set("scale",{x:u/xi,y:u/xi});let d=La.createCanvas(n,r);const p=d.getContext("2d");if(i.draw(p),i.set("translate",l),i.set("scale",h),!s)return o(d.toDataURL(t,e)),void(d=null);ml.toPng(s,{sx:u,sy:u,width:n,height:r}).then(function(i){const s=new Image;s.onload=function(){p.drawImage(s,0,0,n,r),o(d.toDataURL(t,e)),d=null},s.src=i},function(n){Rr(n),o(d.toDataURL(t,e)),d=null})}else a("No target model")})}function bl(){if(!this.hasSameParentForAllSelected)return;const t=this.selected.filter(t=>!!t.parent&&!t.stuck);if(t.length<2)return;const e=t[0].parent,n=[],r=t.sort((t,n)=>e.components.indexOf(t)-e.components.indexOf(n));r.forEach(t=>{n.push(t.bounds)});const i=La.union(n);let s=t[0].fromParent(i.left,i.top);s=t[0].toScene(s.x,s.y);const o=new Map,a=$c({type:"group",left:s.x,top:s.y,width:i.width,height:i.height},e.app,t=>{const e=this.getNewRefid();return void 0!==t&&o.set(t,e),e});a.replaceRefids(o);const c=[{component:a,to_container:e}];r.forEach(t=>{c.push({component:t,to_container:a})}),this.app.commander.execute(new Hc({changes:c})),this.selected=[a]}function vl(){if(0===this.selected.length)return;const t=[],e=[];this.selected.forEach(n=>{if(!n.isGroup())return;const r=n.parent;n.components.forEach(n=>{t.push(n),e.push({component:n,to_container:r})}),e.push({component:n,to_container:null})}),this.app.commander.execute(new Hc({changes:e})),this.selected=t}function xl(){const t=this.selected;if(0===t.length)return;const e=t.map(t=>t.bounds),n=La.union(e),r=n.left+n.width/2;t.map(t=>{t.symmetryX(r)})}function _l(){const t=this.selected;if(0===t.length)return;const e=t.map(t=>t.bounds),n=La.union(e),r=n.top+n.height/2;t.map(t=>{t.symmetryY(r)})}function wl(){Dc.around(this.app.commander,xl,this)}function Al(){Dc.around(this.app.commander,_l,this)}function Sl(t,e,n){const r=this.findAll(t,n);return r.forEach(t=>{t.set(e)}),r}function Ml(t){Dc.around(this.app.commander,t)}function El(){return Object.values(this.indexMap).map(t=>t.map(t=>{const{id:e,data:n}=t.model;return{key:e,value:n}})).flat().sort((t,e)=>t.key>e.key?1:-1)}const kl="left",Cl="right",Tl="center",Pl="bottom",Ol="middle",Dl=[kl,Cl,Tl,"top",Ol,Pl];function jl(t){if(!this.hasSameParentForAllSelected||-1===Dl.indexOf(t))return;const e=this.selected.filter(t=>!t.stuck),n=this.app.commander;Dc.around(n,function(){!function(t,e){const n=e[0].parent,{width:r,height:i}=n.bounds;switch(t){case kl:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,left:0}}break;case Tl:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,left:r/2-n.width/2}}break;case Cl:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,left:r-n.width}}break;case"top":for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,top:0}}break;case Ol:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,top:i/2-n.height/2}}break;case Pl:for(let t=0;t<e.length;t++){const n=e[t].bounds;e[t].bounds={...n,top:i-n.height}}break;default:;}}(t,e)})}function Il(t){t instanceof Array||(t=[t]),this.trigger("addstart",t)}function zl(){this.trigger("stylepastestart")}function Rl(){this.trigger("stylepastestop")}function Ll(){this.trigger("databindpastestart")}function Fl(){this.trigger("databindpastestop")}let Nl=0,Bl=0,Gl=0,Yl=null;function Ul(){Gl++;const t=performance.now(),e=t-Bl;e>=1e3&&(Nl=Math.round(1e3*Gl/e),Bl=t,Gl=0),Yl=requestAnimationFrame(Ul)}function Hl(){null!==Yl&&(cancelAnimationFrame(Yl),Yl=null)}function Wl(){return null===Yl&&(Bl=performance.now(),Gl=0,Yl=requestAnimationFrame(Ul)),Nl}const Vl=function(){const t=document.createElement("canvas").getContext("2d");return(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}();function $l(t,e){const n=document.createElement("canvas");return n.width=t,n.height=e,n.style.width=t+"px",n.style.height=e+"px",n}const Xl=Math.sqrt(3);function ql(t,e){const n=1.2*e;switch(t){case"size1":return{X:n,Y:n};case"size2":return{X:1.5*n,Y:n};case"size3":return{X:2*n,Y:n};case"size4":return{X:n,Y:1.5*n};case"size5":default:return{X:1.5*n,Y:1.5*n};case"size6":return{X:2*n,Y:1.5*n};case"size7":return{X:n,Y:2*n};case"size8":return{X:1.5*n,Y:2*n};case"size9":return{X:2*n,Y:2*n}}}function Kl(t,e,n){switch(t){case"none":default:return null;case"arrow":{const t=new x.Shape;t.moveTo(0,0),t.lineTo(-Xl*e.X,-e.Y),t.lineTo(-Xl*e.X,e.Y),t.closePath();const n=new x.ShapeGeometry(t),r=new x.MeshBasicMaterial({side:x.DoubleSide});return{mesh:new x.Mesh(n,r)}}case"sharp-arrow":{const t=new x.Shape;t.moveTo(0,0),t.lineTo(-Xl*e.X,-e.Y),t.lineTo(e.X/1.5-Xl*e.X,0),t.lineTo(-Xl*e.X,e.Y),t.closePath();const n=new x.ShapeGeometry(t),r=new x.MeshBasicMaterial({side:x.DoubleSide});return{mesh:new x.Mesh(n,r)}}case"open-arrow":{const t=[-(Xl*e.X+n),-e.Y,0,-n,0,0,-(Xl*e.X+n),e.Y,0],o=new s.LineGeometry;o.setPositions(t);const a=new i.LineMaterial({linewidth:n,worldUnits:!0});return{line2:new r.Line2(o,a)}}case"diamond":{const t=new x.Shape;t.moveTo(-e.X,0),t.lineTo(0,-e.Y),t.lineTo(e.X,0),t.lineTo(0,e.Y),t.closePath();const n=new x.ShapeGeometry(t),r=new x.MeshBasicMaterial({side:x.DoubleSide});return{mesh:new x.Mesh(n,r)}}case"oval":{const t=new x.CircleGeometry(e.X,24);t.scale(1,e.Y/e.X,1);const n=new x.MeshBasicMaterial({side:x.DoubleSide});return{mesh:new x.Mesh(t,n)}}}}function Zl(t,e){return"none"===t?0:t.endsWith("arrow")?1.5*e:0}function Ql(t,e,n,o){const{strokeStyle:a,alpha:c=1,lineWidth:l=2,begin:h="none",beginSize:u="size2",end:d="arrow",endSize:p="size2",label:f}=n,g=(new x.Vector3).subVectors(e,t),m=g.length(),y=new x.Group;if(m<.01)return y;const b=g.clone().normalize(),v=Zl(h,l),_=Zl(d,l),w=t.clone().add(b.clone().multiplyScalar(v)),A=e.clone().sub(b.clone().multiplyScalar(_));let S;if(Array.isArray(a)&&a.length>=2){const t=a[1];S=new x.Color(t.length>7?t.slice(0,7):t)}else S=new x.Color("string"==typeof a?a:"#00B050");const M=function(t,e,n,o){const{strokeStyle:a,alpha:c=1,lineWidth:l=2,lineDash:h="solid"}=n,u=new s.LineGeometry;let d;u.setPositions([t.x,t.y,t.z,e.x,e.y,e.z]);let p=!1;if(Array.isArray(a)&&a.length>=2){const t=new x.Color(a[0].length>7?a[0].slice(0,7):a[0]),e=new x.Color(a[1].length>7?a[1].slice(0,7):a[1]);u.setColors([t.r,t.g,t.b,e.r,e.g,e.b]),p=!0,d=e}else d=new x.Color("string"==typeof a?a:"#00B050");const{dashed:f,dashSize:g,gapSize:m}=function(t,e){switch(t){case"solid":default:return{dashed:!1,dashSize:1,gapSize:0};case"round-dot":return{dashed:!0,dashSize:e,gapSize:2*e};case"square-dot":return{dashed:!0,dashSize:2*e,gapSize:e};case"dash":return{dashed:!0,dashSize:4*e,gapSize:1.5*e};case"dash-dot":return{dashed:!0,dashSize:2.5*e,gapSize:1.5*e};case"long-dash":return{dashed:!0,dashSize:6*e,gapSize:3*e};case"long-dash-dot":return{dashed:!0,dashSize:3.5*e,gapSize:2*e};case"long-dash-dot-dot":return{dashed:!0,dashSize:3*e,gapSize:1.5*e}}}(h,l),y=new i.LineMaterial({color:p?16777215:d.getHex(),linewidth:l,worldUnits:!0,vertexColors:p,dashed:f,dashSize:g,gapSize:m,transparent:c<1||Array.isArray(a)&&a.some(t=>t.length>7),opacity:c,resolution:o}),b=new r.Line2(u,y);return b.computeLineDistances(),b}(w,A,n,o);y.add(M);const E=(new x.Quaternion).setFromUnitVectors(new x.Vector3(1,0,0),b),k=(new x.Quaternion).setFromUnitVectors(new x.Vector3(1,0,0),b.clone().negate()),C=Kl(d,ql(p,l),l);if(C){const t=C.mesh||C.line2;if(t.position.copy(e),t.setRotationFromQuaternion(E),C.mesh){const t=C.mesh.material;t.color.copy(S),t.transparent=c<1,t.opacity=c}else if(C.line2){const t=C.line2.material;t.color.copy(S),t.transparent=c<1,t.opacity=c,t.resolution.copy(o)}y.add(t)}const T=Kl(h,ql(u,l),l);if(T){const e=T.mesh||T.line2;if(e.position.copy(t),e.setRotationFromQuaternion(k),T.mesh){const t=T.mesh.material;t.color.copy(S),t.transparent=c<1,t.opacity=c}else if(T.line2){const t=T.line2.material;t.color.copy(S),t.transparent=c<1,t.opacity=c,t.resolution.copy(o)}y.add(e)}if(f){const n=(new x.Vector3).addVectors(t,e).multiplyScalar(.5);n.y+=3;const r=function(t,e,n){const r="Arial",i=$l(256,64),s=i.getContext("2d");s.font=`bold 28px ${r}`;const o=s.measureText(t).width;s.fillStyle=e,s.fillRect(0,0,o+12,40),s.fillStyle="white",s.font=`bold 28px ${r}`,s.textBaseline="top",s.fillText(t,6,6);const a=new x.CanvasTexture(i);a.needsUpdate=!0,a.minFilter=x.LinearFilter,a.colorSpace=x.SRGBColorSpace;const c=new x.SpriteMaterial({map:a,transparent:!0}),l=new x.Sprite(c);l.position.copy(n);const h=(o+12)/40;return l.scale.set(4*h,4,1),l}(f,"string"==typeof a?a:Array.isArray(a)&&a[1]||"#00B050",n);y.add(r)}return y}const Jl=.001;function th(t,e,n){let r=1;if(n&&"none"!=n&&"transparent"!=n){r=e*("string"==typeof n?a(n).getAlpha():1)}else r=0;t.opacity=r,t.transparent=r<1}const eh={width:1,height:1,depth:1},nh={x:1,y:1,z:1},rh={x:0,y:0,z:0},ih={x:0,y:0,z:0},sh={default:{metalness:0,roughness:.4},metal:{metalness:1,roughness:.3,envMapIntensity:1},glass:{metalness:0,roughness:.1,opacity:.3,envMapIntensity:1.5},plastic:{metalness:0,roughness:.4},wood:{metalness:0,roughness:.8,envMapIntensity:.3},ceramic:{metalness:.1,roughness:.2,envMapIntensity:.3},rubber:{metalness:0,roughness:.9,envMapIntensity:.3}};function oh(t){if(!t)return{metalness:0,roughness:.4,emissive:"#000000",emissiveIntensity:0,opacity:1,envMapIntensity:.5,side:"double",castShadow:!0,receiveShadow:!1};const e=sh[t.preset??"default"]??sh.default;return{metalness:t.metalness??e.metalness,roughness:t.roughness??e.roughness,emissive:t.emissive??"#000000",emissiveIntensity:t.emissiveIntensity??0,opacity:t.opacity??e.opacity??1,envMapIntensity:t.envMapIntensity??e.envMapIntensity??.5,side:t.side??"double",castShadow:t.castShadow??!0,receiveShadow:t.receiveShadow??!1}}const ah={double:x.DoubleSide,front:x.FrontSide,back:x.BackSide};function ch(t){return ah[t]??x.DoubleSide}const lh=["map","normalMap","roughnessMap","metalnessMap","aoMap","emissiveMap","bumpMap","displacementMap","alphaMap","envMap","lightMap"];function hh(t){for(const e of lh){const n=t[e];n?.dispose()}t.dispose()}function uh(t){t.traverse(t=>{if(t.geometry?.dispose(),t.material){const e=Array.isArray(t.material)?t.material:[t.material];for(const t of e)hh(t)}})}function dh(t,e){return-1!==t.findIndex(t=>t in e)}class ph{static buildFillStyleTexture(t){const{fillStyle:e}=t.state;if("object"==typeof e)return"pattern"===e.type&&e.image?new x.TextureLoader(x.DefaultLoadingManager).load(t.app.url(e.image),e=>{e.minFilter=x.LinearFilter,e.colorSpace=x.SRGBColorSpace,e.repeat.set(1,1),e.needsUpdate=!0,t.invalidate()},void 0,t=>{Rr("TextureLoader error:",t)}):"gradient"===e.type&&e.colorStops?.length?ph.buildGradientTexture(e,t.bounds):void 0}static buildGradientTexture(t,e){const n=256,r=document.createElement("canvas");r.width=n,r.height=n;const i=r.getContext("2d");if(!i)return;let s;if("radial"===t.gradientType){const e=128,r=128,o=128;switch(t.center){case"left-top":s=i.createRadialGradient(0,0,0,0,0,2*o);break;case"right-top":s=i.createRadialGradient(n,0,0,n,0,2*o);break;case"left-bottom":s=i.createRadialGradient(0,n,0,0,n,2*o);break;case"right-bottom":s=i.createRadialGradient(n,n,0,n,n,2*o);break;default:s=i.createRadialGradient(e,r,0,e,r,o)}}else{const e=t.rotation??0,n=128,r=128,o=Math.cos(e)*n,a=Math.sin(e)*r;s=i.createLinearGradient(n-o,r-a,n+o,r+a)}for(const e of t.colorStops)if(e.position>=0&&e.position<=1)try{s.addColorStop(e.position,e.color)}catch{s.addColorStop(e.position,"#fff")}i.fillStyle=s,i.fillRect(0,0,n,n);const o=new x.CanvasTexture(r);return o.colorSpace=x.SRGBColorSpace,o.needsUpdate=!0,o}constructor(t){this._focused=!1,this._suppressOnchange=!1,this._onchangeWrapper=(t,e)=>{this._suppressOnchange||this.onchange(t,e)},this._component=t,this.object3d=this.getObject3dInstance(),this.component.on("change",this._onchangeWrapper)}update(){this.clear(),this.build(),this.updateTransform(),this.updateFillStyle(),this.updateStrokeStyle(),this.updateAlpha(),this.updateHidden(),this.updateText()}getObject3dInstance(){return new x.Object3D}build(){this.object3d.userData.context=this;const t=oh(this.component.state.material3d);this.object3d.castShadow=t.castShadow,this.object3d.receiveShadow=t.receiveShadow,this.object3d.name=this.component.state.id}updateMaterial3d(){const t=oh(this.component.state.material3d);this.object3d.castShadow=t.castShadow,this.object3d.receiveShadow=t.receiveShadow}get component(){return this._component}get threeContainer(){let t=this.component;for(;t;){if("is3dContainer"in t&&t.is3dContainer())return t;t=t.parent}}get focused(){return this._focused}set focused(t){this._focused=t,t&&(this._focusedAt=performance.now())}dispose(){this.component.off("change",this._onchangeWrapper),this.clear()}clear(){for(const t of this.object3d.children)uh(t);return this.object3d.userData={},this.object3d.clear()}updateTransform(){const{x:t,y:e,z:n}=this.position,{x:r,y:i,z:s}=this.rotation,{x:o,y:a,z:c}=this.scale;this.object3d.position.set(t,e,n),this.object3d.rotation.set(r,i,s),this.object3d.scale.set(Math.max(o,Jl),Math.max(a,Jl),Math.max(c,Jl))}get position(){const{x:t,y:e,z:n}=this.center;return{x:t,y:n,z:e}}get rotation(){const{rotationX:t=0,rotationY:e=0,rotation:n=0}=this.component.state;return{x:t,y:-n,z:e}}get scale(){const{scale:t}=this.component.state,e="number"==typeof t?t:t?.x??1;return{x:e,y:e,z:e}}get cx(){const{x:t=0}=this.component.center,{width:e=0}=this.component.parent?.bounds??{},{tx:n=0}=this.component.delta();return t+n-e/2}get cy(){const{y:t=0}=this.component.center,{height:e=0}=this.component.parent?.bounds??{},{ty:n=0}=this.component.delta();return t+n-e/2}get cz(){const{zPos:t=0}=this.component.state,{tz:e=0}=this.component.delta();return t+e+this.syncZPosOffset}get center(){const{x:t=0,y:e=0}=this.component.center,{width:n=0,height:r=0}=this.component.parent?.bounds??{},{tx:i=0,ty:s=0}=this.component.delta();return{x:t+i-n/2,y:e+s-r/2,z:this.cz}}get dimension(){const{width:t,height:e}=this.component.bounds;return{width:t,height:e,depth:this.effectiveDepth}}get effectiveDepth(){return this.component.state.depth||1}updatePosition(){const{x:t=0,y:e=0,z:n=0}=this.position;this.object3d.position.set(t,e,n)}updateRotate(){const{x:t=0,y:e=0,z:n=0}=this.rotation;this.object3d.rotation.set(t,e,n)}updateScale(){const{x:t=1,y:e=1,z:n=1}=this.scale;this.object3d.scale.set(Math.max(t,Jl),Math.max(e,Jl),Math.max(n,Jl))}syncAnimationDelta(){const t=this.component.delta();this.updatePosition();const{rotationX:e=0,rotationY:n=0,rotation:r=0}=this.component.state,i=t.theta||0;this.object3d.rotation.set(e,-(r+i),n);const{scale:s}=this.component.state,o="number"==typeof s?s:s?.x??1,a=t.sx??1,c=t.sy??1;this.object3d.scale.set(Math.max(o*a,Jl),Math.max(o*c,Jl),Math.max(o,Jl));const l=t.fade||0;if(0!==l){const t=(this.component.state.alpha??1)*(1-l);this.object3d.traverse(e=>{if(e.isMesh&&e.material){const n=Array.isArray(e.material)?e.material:[e.material];for(const e of n)e.opacity=t,e.transparent=e.opacity<1}})}}updateDimension(){this.clear(),this.build()}updateAlpha(){let{alpha:t}=this.component.state;t=null==t?1:t,this.object3d.traverse(e=>{let n=e.material;e.material&&(Array.isArray(n)||(n=[n]),n.forEach(e=>{e.opacity*=t,e.transparent=t<1}))})}updateHidden(){this.object3d.visible=!this.component.state.hidden}updateStrokeStyle(){}updateFillStyle(){}updateText(){}get syncZPosOffset(){return this.effectiveDepth/2}syncFromObject3D(){const t=this.object3d,e=this._component,{width:n=0,height:r=0}=e.parent?.bounds??{},{tx:i=0,ty:s=0,tz:o=0}=e.delta();this._suppressOnchange=!0,e.set({left:t.position.x-i+n/2-e.bounds.width/2,top:t.position.z-s+r/2-e.bounds.height/2,zPos:t.position.y-o-this.syncZPosOffset,rotationX:t.rotation.x,rotation:-t.rotation.y,rotationY:t.rotation.z}),this._suppressOnchange=!1}applyDimensionFromGizmo(t){this._suppressOnchange=!0,this._component.set(t),this._suppressOnchange=!1}onchange(t,e){dh(["cx","cy","cz","zPos","left","top"],t)&&this.updatePosition(),dh(["width","height","depth","lineWidth"],t)&&this.updateDimension(),dh(["rotationX","rotationY","rotation"],t)&&this.updateRotate(),"scale"in t&&this.updateScale(),"hidden"in t&&this.updateHidden(),"alpha"in t&&this.updateAlpha(),"strokeStyle"in t&&this.updateStrokeStyle(),"fillStyle"in t&&this.updateFillStyle(),dh(["text","fontColor","fontSize","fontFamily","bold","italic"],t)&&this.updateText(),"material3d"in t&&this.updateMaterial3d()}}class fh extends ph{get syncZPosOffset(){return this.effectiveDepth}getObject3dInstance(){return new o.CSS3DObject(this.component.element)}get rotation(){const{rotationX:t=0,rotationY:e=0,rotation:n=0}=this.component.state;return{x:t-Math.PI/2,y:e,z:-n}}syncFromObject3D(){const t=this.object3d,e=this._component,{width:n=0,height:r=0}=e.parent?.bounds??{},{tx:i=0,ty:s=0,tz:o=0}=e.delta();this._suppressOnchange=!0;const a=t.scale.x;e.set({left:t.position.x-i+n/2-e.bounds.width/2,top:t.position.z-s+r/2-e.bounds.height/2,zPos:t.position.y-o-this.syncZPosOffset,rotationX:t.rotation.x+Math.PI/2,rotation:-t.rotation.z,rotationY:t.rotation.y,scale:{x:a,y:a}}),this._suppressOnchange=!1}build(){super.build();const t=this.component.element;if(!t)return;const{width:e,height:n}=this.component.bounds;t.style.width=e+"px",t.style.height=n+"px",t.style.left="",t.style.top=""}updateDimension(){super.updateDimension();const t=this.dimension,e=this.component.element;e&&(e.style.width=t.width+"px",e.style.height=t.height+"px")}updateAlpha(){super.updateAlpha();const{alpha:t=1}=this.component.state,e=this.component.element;e&&(e.style.opacity=String(t))}}const gh=new Map;let mh;function yh(t,e){gh.set(t,e)}function bh(t){mh=t}function vh(t){const e=t.buildRealObject();if(e)return e;const n=t.model?.type,r=n?gh.get(n):void 0;if(r)return r(t);if(t.isHTMLElement()){const e=gh.get("html-overlay-element");if(e)return e(t)}return mh?.(t)}function xh(t,e){t.metalness=e.metalness,t.roughness=e.roughness,t.opacity=e.opacity,t.transparent=e.opacity<1,t.envMapIntensity=e.envMapIntensity}function _h(t){const{fillStyle:e,floorMaterial3d:n}=t.state,r=oh(n);if("none"===e)return;const i=new x.BoxGeometry(1,1,1);let s;if(e){const n=ph.buildFillStyleTexture(t);if(n){const t="#424b57",e=[new x.MeshStandardMaterial({color:t}),new x.MeshStandardMaterial({color:t}),new x.MeshStandardMaterial({color:t}),new x.MeshStandardMaterial({color:t}),new x.MeshStandardMaterial({map:n}),new x.MeshStandardMaterial({color:t})];e.forEach(t=>xh(t,r)),s=e}else if("string"==typeof e){const t=new x.MeshStandardMaterial({color:e});xh(t,r),s=t}}if(!s){const t=new x.MeshStandardMaterial({color:"#e0e0e0"});xh(t,r),s=t}const o=new x.Mesh(i,s),{width:a,height:c}=t.state;return o.scale.set(a,c,5),o.rotation.x=-Math.PI/2,o.position.y=-3.5,o.name="floor",o.receiveShadow=!1!==n?.receiveShadow,o.castShadow=!0===n?.castShadow,o}class wh{get scene(){return this._scene}get mixer(){return this._mixer}setup(){return this._scene=new x.Scene,this._scene}setupMixer(){return this._timer=new x.Timer,this._timer.connect(document),this._mixer=new x.AnimationMixer(this._scene),this._mixer}setupEnvironment(t){const e=new x.PMREMGenerator(t);this._envTexture=e.fromScene(new c.RoomEnvironment).texture,this._scene.environment=this._envTexture,e.dispose()}addFloor(t){const e=_h(t);e&&this._scene.add(e)}updateFloor(t){if(!this._scene)return;const e=this._scene.children.find(t=>"floor"===t.name);e&&(uh(e),this._scene.remove(e)),this.addFloor(t)}addObject(t){this._scene.add(t)}updateAnimation(){this._mixer&&this._timer&&(this._timer.update(),this._mixer.update(this._timer.getDelta()))}destroy(){this._mixer&&(this._mixer.stopAllAction(),this._mixer.uncacheRoot(this._scene)),this._envTexture&&(this._envTexture.dispose(),delete this._envTexture),this._scene&&(this._scene.environment=null,uh(this._scene),this._scene.clear()),delete this._scene,delete this._mixer,this._timer&&this._timer.disconnect(),delete this._timer}}class Ah{constructor(){this._activeView="perspective",this._cameraZPos=0}get camera(){return this._perspCamera}get activeCamera(){return"perspective"!==this._activeView&&this._orthoCamera?this._orthoCamera:this._perspCamera}get activeView(){return this._activeView}get zoom(){return this._perspCamera?.zoom}get cameraZPos(){return this._cameraZPos}setup(t,e,n){const{fov:r,near:i,far:s,zoom:o,cameraX:a,cameraY:c,cameraZ:l}=n,h=t/e;this._perspCamera=new x.PerspectiveCamera(r,h,i,s);let u=.8*e,d=.8*t;return this._cameraZPos=Math.min(500,Math.floor(Math.min(t,e))),null!=a&&(u=a*t),null!=c&&(d=c*e),null!=l&&(this._cameraZPos=l*Math.floor(Math.min(t,e))),this._perspCamera.position.set(u,this._cameraZPos,d),this._perspCamera.zoom=.01*(o??200),this._activeView="perspective",this._perspCamera}addToScene(t){t.add(this._perspCamera),this._perspCamera.lookAt(t.position)}updateAspect(t,e){this._perspCamera&&(this._perspCamera.aspect=t/e,this._perspCamera.updateProjectionMatrix()),this._orthoCamera&&this._updateOrthoFrustum(t,e)}updateProperties(t){this._perspCamera&&(void 0!==t.fov&&(this._perspCamera.fov=t.fov),void 0!==t.near&&(this._perspCamera.near=t.near),void 0!==t.far&&(this._perspCamera.far=t.far),void 0!==t.zoom&&(this._perspCamera.zoom=.01*t.zoom),this._perspCamera.updateProjectionMatrix())}setOrthoView(t,e,n){this._orthoCamera||(this._orthoCamera=new x.OrthographicCamera(-1,1,1,-1,.1,5e4)),this._updateOrthoFrustum(e,n);const r=this._orthoCamera;r.zoom=1;const i=2*Math.max(e,n);switch(t){case"top":r.position.set(0,i,0),r.up.set(0,0,-1);break;case"front":r.position.set(0,0,i),r.up.set(0,1,0);break;case"back":r.position.set(0,0,-i),r.up.set(0,1,0);break;case"right":r.position.set(i,0,0),r.up.set(0,1,0);break;case"left":r.position.set(-i,0,0),r.up.set(0,1,0)}return r.lookAt(0,0,0),r.updateProjectionMatrix(),this._activeView=t,r}restorePerspective(){return this._activeView="perspective",this._perspCamera}_updateOrthoFrustum(t,e){if(!this._orthoCamera)return;const n=t/e,r=Math.max(t,e)/2;this._orthoCamera.left=-r*n,this._orthoCamera.right=r*n,this._orthoCamera.top=r,this._orthoCamera.bottom=-r,this._orthoCamera.updateProjectionMatrix()}destroy(){delete this._perspCamera,delete this._orthoCamera,this._activeView="perspective"}}class Sh{constructor(){this._noSupportWebgl=!1}get renderer(){return this._renderer}get css3DRenderer(){return this._css3DRenderer||(this._css3DRenderer=this.createCSS3DRenderer()),this._css3DRenderer}get css3DScene(){return this._css3DScene||(this._css3DScene=new x.Scene),this._css3DScene}get composer(){return this._composer}get noSupportWebgl(){return this._noSupportWebgl}get domElement(){return this._renderer?.domElement}setupWebGL(t,e,n){try{const r=document.createElement("canvas"),i=r.getContext("webgl2"),s=new x.WebGLRenderer({canvas:r,context:i,precision:n.precision,alpha:!0,antialias:n.antialias,logarithmicDepthBuffer:!0});return s.autoClear=!0,s.outputColorSpace=x.SRGBColorSpace,s.toneMapping=x.NoToneMapping,s.toneMappingExposure=n.exposure,s.shadowMap.enabled=!0,s.shadowMap.type=x.PCFShadowMap,s.setClearColor(16777215,0),s.setPixelRatio(window.devicePixelRatio),s.setSize(t,e,!1),r.style.width="100%",r.style.height="100%",this._renderer=s,this._noSupportWebgl=!1,!0}catch(t){return this._noSupportWebgl=!0,!1}}setupCSS3D(t,e){const n=this.css3DRenderer.domElement;n.style.position="absolute",n.style.left="0",n.style.top="0",n.style.pointerEvents="none",e&&n.setAttribute("scene",e),n.style.setProperty("pointer-events","none","important")}createCSS3DRenderer(){return new o.CSS3DRenderer}setupComposer(t,e,n,r,i){const s=new x.WebGLRenderTarget(n,r,{samples:4});this._composer=new l.EffectComposer(this._renderer,s),this._composer.setSize(n,r);const o=new h.RenderPass(t,e);this._composer.addPass(o);const a=new u.OutlinePass(new x.Vector2(n,r),t,e);if(a.visibleEdgeColor.set(15885602),a.hiddenEdgeColor.set(15885602),a.edgeStrength=3,a.edgeThickness=1.5,a.edgeGlow=.5,a.pulsePeriod=0,i){const t=a.render.bind(a);a.render=(e,n,r,s,o)=>{const a=i.visible;i.visible=!1,t(e,n,r,s,o),i.visible=a}}return this._outlinePass=a,this._composer.addPass(a),this._composer.addPass(new p.SMAAPass),this._composer.addPass(new d.OutputPass),this._composer}updateRenderPassCamera(t){this._composer&&this._composer.passes.length>0&&(this._composer.passes[0].camera=t),this._outlinePass&&(this._outlinePass.renderCamera=t)}setOutlineObjects(t){this._outlinePass&&(this._outlinePass.selectedObjects=t)}resize(t,e){this._renderer?.setSize(t,e,!1),this._css3DRenderer?.setSize(t,e),this._composer?.setSize(t,e)}render(){this._composer?.render()}renderCSS3D(t){this._css3DRenderer?.render(this.css3DScene,t)}getSize(){const t=new x.Vector2;return this._renderer?.getSize(t),{width:t.x,height:t.y}}destroy(){this._outlinePass=void 0,this._composer?.dispose(),this._renderer?.dispose(),delete this._composer,delete this._renderer}disposeCSS3DScene(){if(this._css3DScene){[...this._css3DScene.children].forEach(t=>this._css3DScene.remove(t))}}}class Mh{constructor(){this.lights=[]}get hemiLight(){return this._hemiLight}get dirLight(){return this._dirLight}setup(t,e,n){this._scene=t,this._camera=e;const{hemisphere:r,directional:i,point:s}=n;if(this._hemiLight=new x.HemisphereLight(r.skyColor,r.groundColor,r.intensity),t.add(this._hemiLight),this.lights.push(this._hemiLight),i){if(this._dirLight=new x.DirectionalLight(i.color,i.intensity),!1!==i.castShadow){this._dirLight.castShadow=!0;const t=i.shadowMapSize??2048;this._dirLight.shadow.mapSize.set(t,t),this._dirLight.shadow.bias=i.shadowBias??-5e-4;const e=this._dirLight.shadow.camera;e.near=.1,e.far=5e3,e.left=-1500,e.right=1500,e.top=1500,e.bottom=-1500}i.attachToCamera?e.add(this._dirLight):t.add(this._dirLight),this.lights.push(this._dirLight)}if(s){const e=new x.PointLight(s.color,s.intensity,void 0,s.decay);e.power=s.power,e.castShadow=s.castShadow,e.position.set(...s.position),e.shadow.camera.near=s.shadowNear,e.shadow.camera.far=s.shadowFar,t.add(e),this.lights.push(e)}}updateHemisphere(t){this._hemiLight&&(void 0!==t.skyColor&&this._hemiLight.color.set(t.skyColor),void 0!==t.groundColor&&this._hemiLight.groundColor.set(t.groundColor),void 0!==t.intensity&&(this._hemiLight.intensity=t.intensity))}updateDirectional(t){this._dirLight&&(void 0!==t.color&&this._dirLight.color.set(t.color),void 0!==t.intensity&&(this._dirLight.intensity=t.intensity))}setDirectionalEnabled(t,e){if(t&&!this._dirLight&&this._camera){const t=e?.color??16777215,n=e?.intensity??.8;this._dirLight=new x.DirectionalLight(t,n),this._camera.add(this._dirLight),this.lights.push(this._dirLight)}else!t&&this._dirLight&&(this._dirLight.removeFromParent(),this._dirLight.dispose(),this.lights=this.lights.filter(t=>t!==this._dirLight),this._dirLight=void 0)}destroy(){this.lights.forEach(t=>t.dispose()),this.lights=[],this._hemiLight=void 0,this._dirLight=void 0,this._scene=void 0,this._camera=void 0}}const Eh=1e-6;class kh{constructor(){this._enabled=!0,this._state=0,this._autoRotate=!1,this._autoRotateSpeed=2,this._dampingFactor=.15,this._rotateSpeed=.1,this._panSpeed=.25,this._lastScale=1,this._spherical=new x.Spherical,this._sphericalDelta=new x.Spherical,this._panOffset=new x.Vector3,this._target=new x.Vector3,this._target0=new x.Vector3,this._position0=new x.Vector3,this._rotateStart=new x.Vector2,this._rotateEnd=new x.Vector2,this._rotateDelta=new x.Vector2,this._panStart=new x.Vector2,this._panEnd=new x.Vector2,this._panDelta=new x.Vector2,this._offset=new x.Vector3,this._lastPosition=new x.Vector3,this._lastQuaternion=new x.Quaternion,this._panLeftV=new x.Vector3,this._panUpV=new x.Vector3,this._panCalcOffset=new x.Vector3}get isActive(){return!!this._camera}get target(){return this._target.clone()}restoreTarget(t){this._target.copy(t),this._target0.copy(t),this.update()}get _isOrthoLocked(){return!!this._camera?.isOrthographicCamera}setup(t,e){this._camera=t,this._host=e,this._target.set(0,0,0),this._target0.copy(this._target),this._position0.copy(t.position),this._quat=(new x.Quaternion).setFromUnitVectors(t.up,new x.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert();const n=e.state;this._autoRotate=!e.app?.isEditMode&&n.autoRotate||!1,this._autoRotateSpeed=n.rotationSpeed||2,this.update()}setEnabled(t){this._enabled=t}onDragStart(t){this._enabled&&(this._autoRotate=!1,this._isOrthoLocked?(this._state=2,this._panStart.set(t.offsetX,t.offsetY)):(this._state=t.altKey?2:1,1===this._state?this._rotateStart.set(t.offsetX,t.offsetY):this._panStart.set(t.offsetX,t.offsetY)))}onDragMove(t){this._enabled&&(this._isOrthoLocked?(this._state=2,this._handlePanMove(t.offsetX,t.offsetY)):(this._state=t.altKey?2:1,1===this._state?this._handleRotateMove(t.offsetX,t.offsetY):this._handlePanMove(t.offsetX,t.offsetY)))}onDragEnd(t){this._state=0,this._autoRotate=this._host?.state.autoRotate||!1,this._host?.invalidate()}onTouchStart(t){const e=t.touches[0],n=e.offsetX??e.pageX,r=e.offsetY??e.pageY;if(this._isOrthoLocked)return this._panStart.set(n,r),void(this._state=4);switch(t.touches.length){case 1:this._rotateStart.set(n,r),this._state=3;break;case 2:this._lastScale=t.scale||1,this._panStart.set(n,r),this._state=4;break;default:this._state=0}}onTouchMove(t){const e=t.touches[0],n=e.offsetX??e.pageX,r=e.offsetY??e.pageY;if(this._isOrthoLocked)this._handlePanMove(n,r);else switch(t.touches.length){case 1:if(3!==this._state)return;this._handleRotateMove(n,r);break;case 2:if(Math.abs(this._lastScale-(t.scale||1))>.05)return;if(4!==this._state)return;this._handlePanMove(n,r);break;default:this._state=0}}onTouchEnd(t){this._lastScale=1,this._state=0}onKeyDown(t){switch(t.keyCode){case 38:this._pan(0,7);break;case 40:this._pan(0,-7);break;case 37:this._pan(7,0);break;case 39:this._pan(-7,0);break;default:return}this.update()}update(){const t=this._camera,e=t.position;if(this._isOrthoLocked)return this._panOffset.lengthSq()>0&&(this._target.add(this._panOffset),e.add(this._panOffset),this._panOffset.set(0,0,0)),(this._lastPosition.distanceToSquared(e)>Eh||8*(1-this._lastQuaternion.dot(t.quaternion))>Eh)&&(this._lastPosition.copy(e),this._lastQuaternion.copy(t.quaternion),this._host?.invalidate(),!0);if(this._offset.copy(e).sub(this._target),this._offset.applyQuaternion(this._quat),this._spherical.setFromVector3(this._offset),this._spherical.theta+=this._sphericalDelta.theta,this._autoRotate&&0===this._state){const t=2*Math.PI/60*(this._autoRotateSpeed/60);this._spherical.theta-=t}this._spherical.phi+=this._sphericalDelta.phi,this._spherical.phi=Math.max(0,Math.min(Math.PI,this._spherical.phi)),this._spherical.makeSafe(),this._target.add(this._panOffset),this._offset.setFromSpherical(this._spherical),this._offset.applyQuaternion(this._quatInverse),e.copy(this._target).add(this._offset),t.lookAt(this._target);const n=1-this._dampingFactor;return this._sphericalDelta.theta*=n,this._sphericalDelta.phi*=n,this._panOffset.multiplyScalar(n),(this._lastPosition.distanceToSquared(e)>Eh||8*(1-this._lastQuaternion.dot(t.quaternion))>Eh)&&(this._lastPosition.copy(e),this._lastQuaternion.copy(t.quaternion),this._host?.invalidate(),!0)}reset(){this._target.copy(this._target0),this._camera.position.copy(this._position0),this._camera.updateProjectionMatrix(),this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0),this._state=0,this.update()}setCamera(t){this._camera=t,this._target.set(0,0,0),this._position0.copy(t.position),this._quat=(new x.Quaternion).setFromUnitVectors(t.up,new x.Vector3(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0),this._lastPosition.copy(t.position),this._lastQuaternion.copy(t.quaternion),this._state=0,t.updateMatrixWorld(!0)}setAutoRotate(t){this._autoRotate=t,this._host?.invalidate()}markCameraChanged(){this._host?.invalidate()}zoomPerspAtCursor(t,e,n,r){const i=this._camera,s=i.position.distanceTo(this._target),o=Math.tan(i.fov/2*Math.PI/180),a=n*s*o*i.aspect*(1/t-1/e),c=r*s*o*(1/t-1/e);this._panLeftV.setFromMatrixColumn(i.matrix,0).multiplyScalar(a),this._panUpV.setFromMatrixColumn(i.matrix,1).multiplyScalar(c),this._target.add(this._panLeftV).add(this._panUpV),i.position.add(this._panLeftV).add(this._panUpV),this._host?.invalidate()}zoomOrthoAtCursor(t,e,n){const r=this._camera,i=r.zoom,s=Math.max(.1,Math.min(20,i*t)),o=e*(r.right-r.left)/2*(1/i-1/s),a=n*(r.top-r.bottom)/2*(1/i-1/s);this._panLeftV.setFromMatrixColumn(r.matrix,0).multiplyScalar(o),this._panUpV.setFromMatrixColumn(r.matrix,1).multiplyScalar(a),this._target.add(this._panLeftV).add(this._panUpV),r.position.add(this._panLeftV).add(this._panUpV),r.zoom=s,r.updateProjectionMatrix(),this._host?.invalidate()}destroy(){delete this._camera,delete this._host}_handleRotateMove(t,e){this._rotateEnd.set(t,e),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart);const{width:n,height:r}=this._host.bounds;this._sphericalDelta.theta-=2*Math.PI*this._rotateDelta.x/n*this._rotateSpeed,this._sphericalDelta.phi-=2*Math.PI*this._rotateDelta.y/r*this._rotateSpeed,this._rotateStart.copy(this._rotateEnd),this._host?.invalidate()}_handlePanMove(t,e){this._panEnd.set(t,e),this._panDelta.subVectors(this._panEnd,this._panStart),this._isOrthoLocked?this._panOrtho(this._panDelta.x,this._panDelta.y):this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this._host?.invalidate()}_panOrtho(t,e){const n=this._camera,r=this._host?.element;let i,s;if(r){const t=r.getBoundingClientRect();i=t.width,s=t.height}else{const{width:t,height:e}=this._host.bounds;i=t,s=e}this._panLeftV.setFromMatrixColumn(n.matrix,0),this._panLeftV.multiplyScalar(-t*(n.right-n.left)/n.zoom/i),this._panUpV.setFromMatrixColumn(n.matrix,1),this._panUpV.multiplyScalar(e*(n.top-n.bottom)/n.zoom/s),this._target.add(this._panLeftV).add(this._panUpV),n.position.add(this._panLeftV).add(this._panUpV)}_pan(t,e){t*=this._panSpeed,e*=this._panSpeed;const{width:n,height:r}=this._host.bounds,i=this._camera;if(i.isPerspectiveCamera){this._panCalcOffset.copy(i.position).sub(this._target);let n=this._panCalcOffset.length();n*=Math.tan(i.fov/2*Math.PI/180),this._panLeftV.setFromMatrixColumn(i.matrix,0),this._panLeftV.multiplyScalar(-2*t*n/r),this._panOffset.add(this._panLeftV),this._panUpV.setFromMatrixColumn(i.matrix,1),this._panUpV.multiplyScalar(2*e*n/r),this._panOffset.add(this._panUpV)}else i.isOrthographicCamera&&(this._panLeftV.setFromMatrixColumn(i.matrix,0),this._panLeftV.multiplyScalar(-t*(i.right-i.left)/i.zoom/n),this._panOffset.add(this._panLeftV),this._panUpV.setFromMatrixColumn(i.matrix,1),this._panUpV.multiplyScalar(e*(i.top-i.bottom)/i.zoom/r),this._panOffset.add(this._panUpV))}}class Ch{constructor(){this._mouse=new x.Vector2,this._raycaster=new x.Raycaster}get mouse(){return this._mouse}get lastFocused(){return this._lastFocused}set lastFocused(t){this._lastFocused=t}get lastHovered(){return this._lastHovered}set lastHovered(t){this._lastHovered=t}updateMouseNDC(t,e,n,r,i,s){this._mouse.x=(t-n)/i*2-1,this._mouse.y=-(e-r)/s*2+1}getObjectByRaycast(t,e){const n=this.getObjectsByRaycast(t,e);if(n&&n.length>0)for(const t of n){let e=t.object;for(;e;){if(e.userData.context){if(e.visible)return e;break}e=e.parent}}}getObjectsByRaycast(t,e){return this._raycaster.setFromCamera(this._mouse,t),this._raycaster.intersectObjects(e.children,!0)}handleClick(t,e,n){this._lastFocused&&(this._lastFocused.focused=!1);const r=this.getObjectByRaycast(t,e),i=r?.userData.context;return i&&(i.focused=!0,this._lastFocused=i,i.component?.trigger("click",n)),i}handleHover(t,e,n){const r=this.getObjectByRaycast(t,e),i=r?.userData.context;i!==this._lastHovered&&(this._lastHovered&&(this._lastHovered.component?.trigger("mouseleave",n),this._lastHovered=void 0),i&&(this._lastHovered=i,this._lastHovered.component?.trigger("mouseenter",n)))}destroy(){this._lastFocused=void 0,this._lastHovered=void 0}}class Th{constructor(){this._mode="translate",this._isDragging=!1}get controls(){return this._controls}get mode(){return this._mode}get attached(){return this._attached}get isAttached(){return!!this._attached}get isDragging(){return this._isDragging}setup(t,e,n){this.destroy(),this._scene=n;const r=document.createElement("div");r.style.cssText="position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none",r.setPointerCapture=()=>{},r.releasePointerCapture=()=>{},e.appendChild(r),this._proxyElement=r,this._controls=new f.TransformControls(t,r),this._controls.setMode(this._mode),n.add(this._controls.getHelper()),this._controls.addEventListener("dragging-changed",t=>{this._isDragging=t.value,this.onDraggingChanged?.(t.value)}),this._controls.addEventListener("change",()=>{this._attached&&this.onObjectChange?.(this._attached)})}forwardEvent(t,e){if(!this._proxyElement||!this._controls)return;const n=new PointerEvent(e,{clientX:t.clientX,clientY:t.clientY,button:"pointermove"===e?-1:t.button??0,pointerId:1,pointerType:"mouse",bubbles:!0});this._proxyElement.dispatchEvent(n)}setMode(t){this._mode=t,this._controls?.setMode(t)}attach(t){this._attached=t,this._controls?.attach(t),this._controls?.getHelper().updateMatrixWorld(!0),this.onAttachChanged?.(!0)}detach(){this._controls?.detach(),this._attached=void 0,this.onAttachChanged?.(!1)}updateCamera(t){this._controls&&(this._controls.camera=t)}destroy(){this._controls&&(this._controls.detach(),this._controls.dispose(),this._scene&&this._scene.remove(this._controls.getHelper()),this._controls=void 0),this._proxyElement?.parentNode&&this._proxyElement.parentNode.removeChild(this._proxyElement),this._proxyElement=void 0,this._attached=void 0,this._isDragging=!1}}class Ph{constructor(){this._mouseDownAltKey=!1}captureAltKey(t){this._mouseDownAltKey=t}setupCallbacks(t,e,n,r){t.onDraggingChanged=r=>{e.setEnabled(!r);const i=n();i&&(r?this._onDragStart(t,i):this._onDragEnd(t,i),i.app?.commander?.execute(null),i.invalidate())},t.onObjectChange=e=>{this._syncFromGizmo(t,e),n()?.invalidate()},t.onAttachChanged=t=>{r?.onAttachChanged?.(t)}}_onDragStart(t,e){this._mouseDownAltKey&&"translate"===t.mode&&this._performAltDragDuplicate(e);const n=e.root?.selected||[];n.length>1&&this._captureMultiSelectState(t,n),"scale"===t.mode&&this._captureScalePreDrag(t)}_performAltDragDuplicate(t){const e=t.root?.selected||[];if(0===e.length||!t.root)return;const n=t.root,r=[];for(const t of e){const e=t.parent,i=new Map,s=Xc(t,t=>{const e=n.getNewRefid();return void 0!==t&&i.set(t,e),e});s.replaceRefids(i),e.addComponent(s),r.push({component:s,to_container:e})}this._altDragDuplicates=r}_captureMultiSelectState(t,e){const n=t.attached;if(n)if("translate"===t.mode){const t=new Map,r=n.position;for(let n=1;n<e.length;n++){const i=e[n]._realObject;i?.object3d&&t.set(i,i.object3d.position.clone().sub(r))}this._multiSelectOffsets=t}else if("rotate"===t.mode){this._gizmoInitialRotation=n.rotation.clone();const t=new Map;for(let n=1;n<e.length;n++){const r=e[n]._realObject;r?.object3d&&t.set(r,r.object3d.rotation.clone())}this._multiSelectInitialRotations=t}else if("scale"===t.mode){const t=new Map;for(let n=1;n<e.length;n++){const r=e[n],i=r._realObject;if(i?.object3d){const{left:e,top:n,width:s,height:o}=r.bounds,{zPos:a=0}=r.state,c=r.state.depth;t.set(i,{left:e,top:n,width:s,height:o,depth:c,zPos:a,scaleX:i.object3d.scale.x,scaleY:i.object3d.scale.y,scaleZ:i.object3d.scale.z})}}this._multiSelectPreDragDimensions=t}}_captureScalePreDrag(t){const e=t.attached,n=e?.userData.context;if(!n||!e)return;const{left:r,top:i,width:s,height:o}=n.component.bounds,{zPos:a=0}=n.component.state,c=n.component.state.depth;this._preDragDimension={left:r,top:i,width:s,height:o,depth:c,zPos:a},this._preDragScale={x:e.scale.x,y:e.scale.y,z:e.scale.z},this._preDragEffectiveDepth=void 0===c?n.effectiveDepth:void 0}_onDragEnd(t,e){if(this._altDragDuplicates&&this._altDragDuplicates.length>0&&(e.app?.commander.execute(new Hc({changes:this._altDragDuplicates})),this._altDragDuplicates=void 0),this._multiSelectOffsets=void 0,this._gizmoInitialRotation=void 0,this._multiSelectInitialRotations=void 0,this._preDragDimension){const e=t.attached,n=e?.userData.context;if(n&&(void 0!==this._preDragEffectiveDepth&&n.applyDimensionFromGizmo({depth:this._preDragEffectiveDepth}),n.update()),this._multiSelectPreDragDimensions)for(const[t]of this._multiSelectPreDragDimensions)t.update()}this._preDragDimension=void 0,this._preDragScale=void 0,this._preDragEffectiveDepth=void 0,this._multiSelectPreDragDimensions=void 0}_syncFromGizmo(t,e){const n=e.userData.context;if(n)if("scale"===t.mode&&this._preDragDimension&&this._preDragScale){if(this._syncDimensionFromGizmo(n,e),this._multiSelectPreDragDimensions&&this._preDragScale){const t=e.scale.x/this._preDragScale.x,n=e.scale.y/this._preDragScale.y,r=e.scale.z/this._preDragScale.z;for(const[e,i]of this._multiSelectPreDragDimensions){const s=i.width*t,o=i.height*r,a={left:i.left+(i.width-s)/2,top:i.top+(i.height-o)/2,width:s,height:o};if(void 0!==i.depth){const t=i.depth*n;a.depth=t,a.zPos=i.zPos+(i.depth-t)/2}e.applyDimensionFromGizmo(a)}}}else{if(n.syncFromObject3D(),this._multiSelectOffsets){const t=e.position;for(const[e,n]of this._multiSelectOffsets)e.object3d&&(e.object3d.position.copy(t).add(n),e.syncFromObject3D())}if(this._multiSelectInitialRotations&&this._gizmoInitialRotation){const t=e.rotation.x-this._gizmoInitialRotation.x,n=e.rotation.y-this._gizmoInitialRotation.y,r=e.rotation.z-this._gizmoInitialRotation.z;for(const[e,i]of this._multiSelectInitialRotations)e.object3d&&(e.object3d.rotation.set(i.x+t,i.y+n,i.z+r),e.syncFromObject3D())}}}_syncDimensionFromGizmo(t,e){const n=this._preDragDimension,r=this._preDragScale,i=n.width*(e.scale.x/r.x),s=n.height*(e.scale.z/r.z),o={left:n.left+(n.width-i)/2,top:n.top+(n.height-s)/2,width:i,height:s};if(void 0!==n.depth){const t=n.depth*(e.scale.y/r.y);o.depth=t,o.zPos=n.zPos+(n.depth-t)/2}t.applyDimensionFromGizmo(o)}}class Oh{constructor(){this._mouseIsDown=!1,this._isDragging=!1,this._mouseDownPos={x:0,y:0}}get hostElement(){return this._hostElement}setup(t,e,n){this.cleanup(),this._hostElement=t,this._gizmo=e.gizmo,this._controls=e.controls,this._camera=e.camera,this._scene=e.scene,this._event=e.event,this._delegate=n,t.hasAttribute("tabindex")||t.setAttribute("tabindex","0"),t.style.outline="none";const r={mousedown:t=>this._onMouseDown(t),mousemove:t=>this._onMouseMove(t),wheel:t=>{t.stopPropagation(),this._delegate.handleWheel(t)},dblclick:t=>{t.stopPropagation(),this._delegate.handleDblClick(t)},contextmenu:t=>{t.preventDefault()},touchstart:t=>{t.stopPropagation(),this._delegate.handleTouchStart(t)},touchmove:t=>{t.stopPropagation(),this._delegate.handleTouchMove(t)},touchend:t=>{t.stopPropagation(),this._delegate.handleTouchEnd(t)},keydown:t=>{this._delegate.handleKeyDown(t)&&t.stopPropagation()}};t.addEventListener("mousedown",r.mousedown),t.addEventListener("mousemove",r.mousemove),t.addEventListener("wheel",r.wheel),t.addEventListener("dblclick",r.dblclick),t.addEventListener("contextmenu",r.contextmenu),t.addEventListener("touchstart",r.touchstart,{passive:!1}),t.addEventListener("touchmove",r.touchmove,{passive:!1}),t.addEventListener("touchend",r.touchend),t.addEventListener("keydown",r.keydown),this._boundHandlers=r}cleanup(){this._removeDocCapture();const t=this._hostElement,e=this._boundHandlers;t&&e&&(t.removeEventListener("mousedown",e.mousedown),t.removeEventListener("mousemove",e.mousemove),t.removeEventListener("wheel",e.wheel),t.removeEventListener("dblclick",e.dblclick),t.removeEventListener("contextmenu",e.contextmenu),t.removeEventListener("touchstart",e.touchstart),t.removeEventListener("touchmove",e.touchmove),t.removeEventListener("touchend",e.touchend),t.removeEventListener("keydown",e.keydown),t.removeAttribute("tabindex"),t.style.outline=""),this._boundHandlers=void 0,this._hostElement=void 0,this._mouseIsDown=!1,this._isDragging=!1}forceCleanupDragState(){this._removeDocCapture(),this._mouseIsDown=!1,this._isDragging=!1}clientToElementCoords(t,e){const n=this._hostElement;if(!n)return{x:t,y:e};const r=n.getBoundingClientRect();return{x:t-r.left,y:e-r.top}}updateMouseNDCFromClient(t,e){const n=this._hostElement?.getBoundingClientRect();if(!n||0===n.width||0===n.height)return;const r=t-n.left,i=e-n.top;this._event.updateMouseNDC(r,i,0,0,n.width,n.height)}_onMouseDown(t){if(t.stopPropagation(),this._hostElement.focus(),this._delegate.isPlacementMode())return void this._delegate.handlePlacementClick(t);this._delegate.captureMouseDownAltKey(t.altKey),this._gizmo.forwardEvent(t,"pointermove"),this._gizmo.forwardEvent(t,"pointerdown");let e=this._gizmo.isDragging;!e&&t.altKey&&this._delegate.tryAltClickSelect(t)&&(this._gizmo.forwardEvent(t,"pointermove"),this._gizmo.forwardEvent(t,"pointerdown"),e=this._gizmo.isDragging),this._mouseIsDown=!0,this._isDragging=!1,this._mouseDownPos={x:t.clientX,y:t.clientY},this._docMoveHandler=t=>{if(t.stopPropagation(),e)return void this._gizmo.forwardEvent(t,"pointermove");const n=t.clientX-this._mouseDownPos.x,r=t.clientY-this._mouseDownPos.y;if(!this._isDragging){if(n*n+r*r<Oh.DRAG_THRESHOLD)return;this._isDragging=!0;const e=this.clientToElementCoords(this._mouseDownPos.x,this._mouseDownPos.y);this._controls.onDragStart({offsetX:e.x,offsetY:e.y,altKey:t.altKey})}const i=this.clientToElementCoords(t.clientX,t.clientY);this._controls.onDragMove({offsetX:i.x,offsetY:i.y,altKey:t.altKey})},this._docUpHandler=t=>{if(t.stopPropagation(),this._removeDocCapture(),e)return this._gizmo.forwardEvent(t,"pointerup"),this._mouseIsDown=!1,void(this._isDragging=!1);if(this._isDragging){const e=this.clientToElementCoords(t.clientX,t.clientY);this._controls.onDragEnd({offsetX:e.x,offsetY:e.y})}else{const e=this.clientToElementCoords(t.clientX,t.clientY);this.updateMouseNDCFromClient(t.clientX,t.clientY),this._delegate.handleClickAt(e.x,e.y,t)}this._mouseIsDown=!1,this._isDragging=!1},document.addEventListener("mousemove",this._docMoveHandler,!0),document.addEventListener("mouseup",this._docUpHandler,!0)}_onMouseMove(t){if(t.stopPropagation(),this._mouseIsDown)return;if(this._delegate.isPlacementMode())return void this._delegate.handlePlacementHover(t);this.updateMouseNDCFromClient(t.clientX,t.clientY);const e=this._camera.activeCamera;e&&this._scene.scene&&this._event.handleHover(e,this._scene.scene,t),this._gizmo.forwardEvent(t,"pointermove")}_removeDocCapture(){this._docMoveHandler&&(document.removeEventListener("mousemove",this._docMoveHandler,!0),this._docMoveHandler=void 0),this._docUpHandler&&(document.removeEventListener("mouseup",this._docUpHandler,!0),this._docUpHandler=void 0)}}Oh.DRAG_THRESHOLD=16;class Dh{constructor(){this._groundPlane=new x.Plane(new x.Vector3(0,1,0),0)}get isActive(){return!!this._pendingModels}get pendingModels(){return this._pendingModels}setup(t,e){this._camera=t.camera,this._event=t.event,this._scene=t.scene,this._delegate=e}start(t){this._pendingModels=t}stop(){this._pendingModels=void 0,this._removeIndicator()}destroy(){this._removeIndicator(),this._pendingModels=void 0}raycastGroundPlane(t){this._delegate.updateMouseNDCFromClient(t.clientX,t.clientY);const e=this._camera.activeCamera;if(!e)return null;e.updateMatrixWorld(!0);const n=new x.Raycaster;n.setFromCamera(this._event.mouse,e);const r=new x.Vector3;return n.ray.intersectPlane(this._groundPlane,r)}updateIndicator(t){if(!t)return void(this._placementIndicator&&(this._placementIndicator.visible=!1));if(!this._placementIndicator){const t=this._scene?.scene;if(!t)return;const e=new x.RingGeometry(.8,1,32);e.rotateX(-Math.PI/2);const n=new x.MeshBasicMaterial({color:48340,opacity:.6,transparent:!0,side:x.DoubleSide,depthTest:!1});this._placementIndicator=new x.Mesh(e,n),this._placementIndicator.renderOrder=999,t.add(this._placementIndicator)}const e=this._pendingModels?.[0],n=e?.rx??e?.width??50,r=e?.ry??e?.height??50;this._placementIndicator.scale.set(n,1,r),this._placementIndicator.position.copy(t),this._placementIndicator.position.y=1,this._placementIndicator.visible=!0}_removeIndicator(){if(this._placementIndicator){const t=this._placementIndicator;this._scene?.scene?.remove(t),t.geometry.dispose(),t.material.dispose(),this._placementIndicator=void 0}}}class jh{constructor(){this.sceneManager=new wh,this.cameraManager=new Ah,this.rendererManager=new Sh,this.lightManager=new Mh,this.controlsManager=new kh,this.eventManager=new Ch,this.gizmoManager=new Th,this.interactionManager=new Oh,this.placementManager=new Dh,this.gizmoOperationManager=new Ph,this._initialized=!1,this._decoratorOutlines=new Set,this._selectionOutlineObjects=[],this._arrows=new Map}get isInitialized(){return this._initialized}get host(){return this._host}get scene3d(){return this.sceneManager.scene}get renderer3d(){return this.rendererManager.renderer}get mixer(){return this.sceneManager.mixer}get zoom(){return this.cameraManager.zoom}get camera(){return this.cameraManager.camera}get activeCamera(){return this.cameraManager.activeCamera}get css3DScene(){return this.rendererManager.css3DScene}get css3DRenderer(){return this.rendererManager.css3DRenderer}get noSupportWebgl(){return this.rendererManager.noSupportWebgl}get isActive(){return this.controlsManager.isActive}setGizmoMode(t){this.gizmoManager.setMode(t),this.onGizmoModeChanged?.(t);const e=this._host?.root?.selected;if(e&&e.length>1){const t=e[0]._realObject;t?.object3d&&this.gizmoManager.attach(t.object3d),this._host?.invalidate()}}get gizmoMode(){return this.gizmoManager.mode}init(t,e){this.interactionManager.cleanup(),this._cleanupEventHandlers(),this._host=t,this._redrawHandler=()=>this.animate(),t.root.on("redraw",this._redrawHandler),this.sceneManager.scene&&this.destroy(),this._initialized=!0,this._setupScene(e),this._onComponentAdd=(t,e)=>this.addObject(e),this._onComponentRemove=(t,e)=>this.removeObject(e),t.on&&(t.on("add",this._onComponentAdd),t.on("remove",this._onComponentRemove)),t.app?.isEditMode&&t.root?.on&&(this._onSelectionChanged=t=>this._handleSelectionChanged(t),t.root.on("selected",this._onSelectionChanged)),t.app?.isEditMode&&t.root?.on&&(this._onAddStart=t=>{this.placementManager.start(t),this._host?.element&&(this._host.element.style.cursor="crosshair",this._host.element.focus())},this._onAddStop=()=>{this.placementManager.stop(),this._host?.element&&(this._host.element.style.cursor="")},t.root.on("addstart",this._onAddStart),t.root.on("addstop",this._onAddStop))}_cleanupEventHandlers(){const t=this._host;t&&(this._redrawHandler&&(t.root.off("redraw",this._redrawHandler),this._redrawHandler=void 0),t.off&&(this._onComponentAdd&&(t.off("add",this._onComponentAdd),this._onComponentAdd=void 0),this._onComponentRemove&&(t.off("remove",this._onComponentRemove),this._onComponentRemove=void 0)),this._onSelectionChanged&&t.root?.off&&(t.root.off("selected",this._onSelectionChanged),this._onSelectionChanged=void 0),this._onAddStart&&t.root?.off&&(t.root.off("addstart",this._onAddStart),this._onAddStart=void 0),this._onAddStop&&t.root?.off&&(t.root.off("addstop",this._onAddStop),this._onAddStop=void 0))}_setupScene(t){const e=this._host,{width:n,height:r}=e.bounds,{fov:i=45,near:s=.1,far:o=2e4,antialias:a=!0,precision:c="highp",cameraX:l,cameraY:h,cameraZ:u,exposure:d=1}=e.state,p=e.components||[],f=t?.lightingConfig??{hemisphere:{skyColor:16777215,groundColor:4473924,intensity:.4},directional:{color:16777215,intensity:1,attachToCamera:!0}},g=t?.css3DSceneAttribute??"three-container:css3d-renderer",m=this.sceneManager.setup(),y=(e.getState?e.getState("zoom"):e.state.zoom)??200,b=this.cameraManager.setup(n,r,{fov:i,near:s,far:o,zoom:y,cameraX:l,cameraY:h,cameraZ:u});if(this.cameraManager.addToScene(m),!this.rendererManager.setupWebGL(n,r,{precision:c,antialias:a,exposure:d}))return;this.sceneManager.setupEnvironment(this.rendererManager.renderer),this.controlsManager.setup(b,e),e.app?.isEditMode&&e.element&&(this.gizmoManager.setup(b,e.element,m),this._setupGizmoCallbacks()),this.placementManager.setup({camera:this.cameraManager,event:this.eventManager,scene:this.sceneManager},{updateMouseNDCFromClient:(t,e)=>this._updateMouseNDCFromClient(t,e)}),this.lightManager.setup(m,b,f),this.sceneManager.setupMixer(),this.createObjects(p),b.updateProjectionMatrix(),this.sceneManager.addFloor(e);const v=this.gizmoManager.controls?.getHelper();this.rendererManager.setupComposer(m,b,n,r,v),this.rendererManager.setupCSS3D(e.app.isViewMode,g),this._onFocus=()=>this.renderThreeD(),window.addEventListener("focus",this._onFocus),e.element&&this.interactionManager.setup(e.element,{gizmo:this.gizmoManager,controls:this.controlsManager,camera:this.cameraManager,scene:this.sceneManager,event:this.eventManager},this._buildInteractionDelegate())}_setupGizmoCallbacks(){this.gizmoOperationManager.setupCallbacks(this.gizmoManager,this.controlsManager,()=>this._host,{onAttachChanged:t=>this.onGizmoAttachChanged?.(t)})}createObjects(t){for(const e of t)this.addObject(e)}addObject(t){if(!t._realObject){try{const{width:e,height:n}=t.bounds;if(!e||!n)return;if(t.isHTMLElement()&&!t.element)return;const r=vh(t);if(r){if(t._realObject=r,r.update(),r.updateTransform(),r instanceof fh)this.rendererManager.css3DScene.add(r.object3d);else{const e=t.parent?._realObject?.object3d;e&&e!==this.sceneManager.scene?e.add(r.object3d):this.sceneManager.scene.add(r.object3d)}const e=this._host?.root?.selected;e&&e.length>0&&e[0]===t&&r.object3d&&this.gizmoManager.attach(r.object3d)}}catch(t){Rr(t)}if(t.isContainer()){const e=t,n=e.components||[];this.createObjects(n),e.on&&(e.on("add",this._onComponentAdd),e.on("remove",this._onComponentRemove))}}}removeObject(t){if(t.isContainer()){const e=t,n=e.components||[];for(const t of n)this.removeObject(t);e.off&&(e.off("add",this._onComponentAdd),e.off("remove",this._onComponentRemove))}const e=t._realObject;if(e)try{const n=e.object3d;n&&this.gizmoManager.attached===n&&this.gizmoManager.detach(),n&&(e instanceof fh?this.rendererManager.css3DScene.remove(n):n.removeFromParent()),e.dispose?.(),t._realObject=void 0}catch(t){Rr(t)}}resize(t,e,n=!1){const r=this._host;if(!r)return;if(void 0===t||void 0===e){const n=r.bounds;t=n.width,e=n.height}if(n)return void this._applyResize(t,e);this.rendererManager.css3DRenderer?.setSize(t,e);const i=t,s=e;clearTimeout(this._resizeDebouncer),this._resizeDebouncer=window.setTimeout(()=>{this._resizeDebouncer=void 0,this._applyResize(i,s)},100)}_applyResize(t,e){this.cameraManager.updateAspect(t,e),this.rendererManager.resize(t,e);const n=new x.Vector2(t,e);for(const t of this._arrows.values())t.traverse(t=>{t instanceof r.Line2&&t.material.resolution.copy(n)});this._initialized&&(this.renderThreeD(),this.renderCSS3D())}animate(){if(!this._initialized||!this.controlsManager.isActive)return;this.sceneManager.updateAnimation();const t=this._host?.components||[];for(const e of t)e._animation?.started&&e._realObject&&e._realObject.syncAnimationDelta();this.controlsManager.update(),this.renderThreeD()}renderThreeD(){this._initialized&&this.rendererManager.render()}setCameraView(t,e){const n=this._host;if(!n)return;const{width:r,height:i}=n.bounds;let s;s="perspective"===t?this.cameraManager.restorePerspective():this.cameraManager.setOrthoView(t,r,i),this.controlsManager.setCamera(s),this.gizmoManager.updateCamera(s),this.rendererManager.updateRenderPassCamera(s),!1!==e?.render&&this.renderThreeD(),this.onCameraViewChanged?.(t)}renderCSS3D(){const t=this.cameraManager.activeCamera;t&&this.rendererManager.renderCSS3D(t)}buildOverlays(){const t=this._host;t?.element&&t.element.appendChild(this.css3DRenderer.domElement)}destroy(){this.interactionManager.cleanup(),this._resizeDebouncer&&(clearTimeout(this._resizeDebouncer),this._resizeDebouncer=void 0),this._onFocus&&(window.removeEventListener("focus",this._onFocus),this._onFocus=void 0),this.gizmoManager.destroy(),this.controlsManager.destroy(),this.lightManager.destroy(),this.rendererManager.destroy(),this.cameraManager.destroy(),this.sceneManager.destroy(),this.eventManager.destroy(),this._initialized=!1}forceCleanupDragState(){this.interactionManager.forceCleanupDragState()}clearAllObjects(){this.gizmoManager.detach();const t=this._host?.components||[];for(const e of t)e._realObject&&this.removeObject(e)}rebuildForHost(t,e){this.interactionManager.cleanup(),this._redrawHandler=void 0,this._onComponentAdd=void 0,this._onComponentRemove=void 0,this._onSelectionChanged=void 0,this._onAddStart=void 0,this._onAddStop=void 0,this._host=t,this._redrawHandler=()=>this.animate(),t.root.on("redraw",this._redrawHandler),this._onComponentAdd=(t,e)=>this.addObject(e),this._onComponentRemove=(t,e)=>this.removeObject(e),t.on&&(t.on("add",this._onComponentAdd),t.on("remove",this._onComponentRemove)),t.app?.isEditMode&&t.root?.on&&(this._onSelectionChanged=t=>this._handleSelectionChanged(t),t.root.on("selected",this._onSelectionChanged),this._onAddStart=t=>{this.placementManager.start(t),this._host?.element&&(this._host.element.style.cursor="crosshair",this._host.element.focus())},this._onAddStop=()=>{this.placementManager.stop(),this._host?.element&&(this._host.element.style.cursor="")},t.root.on("addstart",this._onAddStart),t.root.on("addstop",this._onAddStop)),this.createObjects(t.components||[]),t.element&&this.interactionManager.setup(t.element,{gizmo:this.gizmoManager,controls:this.controlsManager,camera:this.cameraManager,scene:this.sceneManager,event:this.eventManager},this._buildInteractionDelegate()),this.controlsManager.setup(this.cameraManager.camera,t),t.app?.isEditMode&&t.element&&this.sceneManager.scene&&(this.gizmoManager.setup(this.cameraManager.camera,t.element,this.sceneManager.scene),this._setupGizmoCallbacks()),this._onFocus||(this._onFocus=()=>this.renderThreeD(),window.addEventListener("focus",this._onFocus)),this.renderThreeD()}dispose(){const t=e=>{for(const n of e){if(n.isContainer()){const e=n.components||[];t(e)}n._realObject&&(n._realObject.dispose?.(),n._realObject=void 0)}};t(this._host?.components||[]),this._decoratorOutlines.clear(),this._selectionOutlineObjects=[],this.clearArrows(),this.placementManager.destroy(),this._cleanupEventHandlers(),this.rendererManager.disposeCSS3DScene(),this.destroy(),this._host=void 0}_buildInteractionDelegate(){return{isPlacementMode:()=>this.placementManager.isActive,handlePlacementClick:t=>{if(!this._host?.root)return;const e=this.placementManager.raycastGroundPlane(t);if(e){const t=this._host,n=t.bounds.width||800,r=t.bounds.height||600,i=e.x+n/2,s=e.z+r/2;qc.call(t.root,this.placementManager.pendingModels,{cx:i,cy:s}),t.root.trigger("addstop")}},handlePlacementHover:t=>{const e=this.placementManager.raycastGroundPlane(t);this.placementManager.updateIndicator(e),this.renderThreeD()},tryAltClickSelect:t=>{if(!this._host?.app?.isEditMode||!this._host.root)return!1;this._updateMouseNDCFromClient(t.clientX,t.clientY);const e=this.cameraManager.activeCamera;if(e&&this.sceneManager.scene){const n=this.eventManager.handleClick(e,this.sceneManager.scene,t);if(n?.component)return this._host.root.selected=[n.component],!0}return!1},captureMouseDownAltKey:t=>{this.gizmoOperationManager.captureAltKey(t)},handleClickAt:(t,e,n)=>{this._handleClickAt(n)},handleWheel:t=>this.onWheel(t),handleDblClick:t=>this.onDblClick(t),handleTouchStart:t=>this.onTouchStart(t),handleTouchMove:t=>this.onPan(t),handleTouchEnd:t=>this.onTouchEnd(t),handleKeyDown:t=>this.onKeyDown(t)}}_handleClickAt(t){const e=this._host,n=this.cameraManager.activeCamera;if(!n||!this.sceneManager.scene)return;const r=this.gizmoManager.isDragging;if(this.gizmoManager.forwardEvent(t,"pointerup"),r)return;const i=this.eventManager.handleClick(n,this.sceneManager.scene,t);if(e.app?.isEditMode&&e.root)if(i?.component)if(t.shiftKey){const t=(e.root.selected||[]).slice(),n=t.indexOf(i.component);-1===n?t.push(i.component):t.splice(n,1),e.root.selected=t}else e.root.selected=[i.component];else t.shiftKey||(e.root.selected=[e])}getObjectByRaycast(){if(!this.sceneManager.scene)return;const t=this.cameraManager.activeCamera;return t?this.eventManager.getObjectByRaycast(t,this.sceneManager.scene):void 0}getObjectsByRaycast(){if(!this.sceneManager.scene)return;const t=this.cameraManager.activeCamera;return t?this.eventManager.getObjectsByRaycast(t,this.sceneManager.scene):void 0}_updateMouseNDCFromClient(t,e){const n=this._host?.element?.getBoundingClientRect();if(!n||0===n.width||0===n.height)return;const r=t-n.left,i=e-n.top;this.eventManager.updateMouseNDC(r,i,0,0,n.width,n.height)}_updateMouseNDC(t){this._updateMouseNDCFromClient(t.clientX,t.clientY)}onMouseUp(t){if(this.controlsManager.isActive){const e=this.gizmoManager.isDragging;if(this.gizmoManager.forwardEvent(t,"pointerup"),e)return t.stopPropagation(),!0;const n=this.cameraManager.activeCamera;this._updateMouseNDC(t);const r=this.eventManager.handleClick(n,this.sceneManager.scene,t),i=this._host;if(i?.app?.isEditMode&&i.root)if(r?.component)if(t.shiftKey){const t=(i.root.selected||[]).slice(),e=t.indexOf(r.component);-1===e?t.push(r.component):t.splice(e,1),i.root.selected=t}else i.root.selected=[r.component];else t.shiftKey||(i.root.selected=[i]);return t.stopPropagation(),!0}return!1}onMouseMove(t){if(this.controlsManager.isActive){this.gizmoManager.forwardEvent(t,"pointermove");const e=this.cameraManager.activeCamera;return this._updateMouseNDC(t),this.eventManager.handleHover(e,this.sceneManager.scene,t),t.stopPropagation(),!0}return!1}onMouseDown(t){return!(!this.controlsManager.isActive||(this.gizmoManager.forwardEvent(t,"pointerdown"),!this.gizmoManager.isDragging))&&(t.stopPropagation(),!0)}onMouseLeave(t){return!1}onWheel(t){if(this.controlsManager.isActive){if("perspective"!==this.cameraManager.activeView){const e=t.deltaY>0?.9:1.1,n=this._host?.element;let r=0,i=0;if(n){const e=n.getBoundingClientRect();r=(t.clientX-e.left)/e.width*2-1,i=-(t.clientY-e.top)/e.height*2+1}this.controlsManager.zoomOrthoAtCursor(e,r,i),this.renderThreeD()}else{const e=this._host;let n=(e.getState?e.getState("zoom"):e.state.zoom)??200;const r=(e.getState?e.getState("minZoom"):e.state.minZoom)??50,i=n;n+=.1*-t.deltaY,n<r&&(n=r);const s=e.element;let o=0,a=0;if(s){const e=s.getBoundingClientRect();o=(t.clientX-e.left)/e.width*2-1,a=-(t.clientY-e.top)/e.height*2+1}this.controlsManager.zoomPerspAtCursor(.01*i,.01*n,o,a),e.setState&&e.setState("zoom",n)}return t.stopPropagation(),!0}return!1}onDblClick(t){if(this.controlsManager.isActive){const e=this._host,n=(e.getState?e.getState("zoom"):e.state.zoom)??200;return e.setState&&e.setState("zoom",n),this.controlsManager.reset(),t.stopPropagation(),!0}return!1}onDragStart(t){return!!this.controlsManager.isActive&&(this.gizmoManager.isDragging?(t.stopPropagation(),!0):(this.controlsManager.onDragStart(t),t.stopPropagation(),!0))}onDragMove(t){return!!this.controlsManager.isActive&&(this.gizmoManager.isDragging?(this.gizmoManager.forwardEvent(t,"pointermove"),t.stopPropagation(),!0):(this.controlsManager.onDragMove(t),t.stopPropagation(),!0))}onDragEnd(t){return!!this.controlsManager.isActive&&(this.gizmoManager.isDragging?(this.gizmoManager.forwardEvent(t,"pointerup"),t.stopPropagation(),!0):(this.controlsManager.onDragEnd(t),t.stopPropagation(),!0))}onTouchStart(t){return!!this.controlsManager.isActive&&(this.controlsManager.onTouchStart(t),t.stopPropagation(),!0)}onPan(t){return!!this.controlsManager.isActive&&(this.controlsManager.onTouchMove(t),t.stopPropagation(),!0)}onTouchEnd(t){return!!this.controlsManager.isActive&&(this.controlsManager.onTouchEnd(t),t.stopPropagation(),!0)}onKeyDown(t){if(this.controlsManager.isActive){if("Escape"===t.key&&this.placementManager.isActive&&this._host?.root)return this._host.root.trigger("addstop"),t.stopPropagation(),!0;if(this._host?.app?.isEditMode){const e=this._host.root;if(t.metaKey||t.ctrlKey)switch(t.code){case"KeyZ":{const n=this._host?.app?.commander,r=(e?.selected||[]).filter(t=>t!==this._host).map(t=>t.state?.id).filter(Boolean);if(t.shiftKey?n?.redo():n?.undo(),e&&r.length>0){const t=r.map(t=>e.findById(t)).filter(Boolean);t.length>0&&(e.selected=t)}t.preventDefault();break}case"KeyC":e&&(this._clipboard=sl.call(e)),t.preventDefault();break;case"KeyX":e&&(this._clipboard=ol.call(e)),t.preventDefault();break;case"KeyV":e&&this._clipboard&&al.call(e,this._clipboard),t.preventDefault();break;case"KeyD":e&&(this._clipboard=sl.call(e),this._clipboard&&al.call(e,this._clipboard)),t.preventDefault();break;default:return!1}switch(t.code){case"KeyW":this.setGizmoMode("translate");break;case"KeyE":this.setGizmoMode("rotate");break;case"KeyR":this.setGizmoMode("scale");break;case"KeyT":this._host?.set?.("threed",!1),t.preventDefault();break;case"Delete":case"Backspace":e&&Zc.call(e);break;case"Escape":this.gizmoManager.detach(),e&&(e.selected=[]);break;case"Digit1":this.setCameraView("perspective");break;case"Digit2":this.setCameraView("top");break;case"Digit3":this.setCameraView("front");break;case"Digit4":this.setCameraView("back");break;case"Digit5":this.setCameraView("right");break;case"Digit6":this.setCameraView("left")}const n=e?.selected;if(n&&n.length>0){const e=t.shiftKey?this._host.MPP||10:1;let r;switch(t.code){case"ArrowLeft":r={x:-e,y:0};break;case"ArrowRight":r={x:e,y:0};break;case"ArrowUp":r={x:0,y:-e};break;case"ArrowDown":r={x:0,y:e}}if(r)return Dc.around(this._host.app.commander,()=>{n.forEach(t=>{t.stuck||t.move(r,!1)})}),t.preventDefault(),t.stopPropagation(),!0}}return this.controlsManager.onKeyDown(t),t.stopPropagation(),!0}return!1}onPinch(t){if(this.controlsManager.isActive){if("perspective"!==this.cameraManager.activeView){const e=this.cameraManager.activeCamera,n=t.scale||1;e.zoom=Math.max(.1,Math.min(20,e.zoom*n)),e.updateProjectionMatrix(),this.controlsManager.markCameraChanged(),this.renderThreeD()}else{const e=this._host;let n=(e.getState?e.getState("zoom"):e.state.zoom)??200;const r=(e.getState?e.getState("minZoom"):e.state.minZoom)??50;n*=t.scale,n<r&&(n=r),e.setState&&e.setState("zoom",n)}return t.stopPropagation(),!0}return!1}onDoubleTap(){this.controlsManager.reset()}getCameraState(){const t=this._host;if(!t)return null;const e=this.cameraManager.camera;if(!e)return null;const{width:n,height:r}=t.bounds,i=Math.floor(Math.min(n,r))||1;return{view:this.cameraManager.activeView,zoom:(t.getState?t.getState("zoom"):t.state.zoom)??200,cameraX:e.position.x/(n||1),cameraY:e.position.z/(r||1),cameraZ:e.position.y/i}}captureSessionState(){const t=this.cameraManager.activeView,e=this.cameraManager.camera,n=this.controlsManager.target,r={view:t};return e&&(r.perspPosition={x:e.position.x,y:e.position.y,z:e.position.z},r.perspZoom=e.zoom),r.orbitTarget={x:n.x,y:n.y,z:n.z},r}restoreSessionState(t){"perspective"!==t.view&&this.setCameraView(t.view,{render:!1});const e=this.cameraManager.camera;e&&t.perspPosition&&(e.position.set(t.perspPosition.x,t.perspPosition.y,t.perspPosition.z),void 0!==t.perspZoom&&(e.zoom=t.perspZoom),e.updateProjectionMatrix()),t.orbitTarget&&this.controlsManager.restoreTarget(new x.Vector3(t.orbitTarget.x,t.orbitTarget.y,t.orbitTarget.z))}onchange(t){if(t.hasOwnProperty("autoRotate")&&this.controlsManager.setAutoRotate(t.autoRotate),t.hasOwnProperty("fov")||t.hasOwnProperty("near")||t.hasOwnProperty("far")||t.hasOwnProperty("zoom")){const t=this._host;if(t){const{near:e,far:n,zoom:r,fov:i}=t.state;this.cameraManager.updateProperties({near:e,far:n,zoom:r,fov:i}),this.controlsManager.markCameraChanged()}}let e=!1;if((t.hasOwnProperty("hemiSkyColor")||t.hasOwnProperty("hemiGroundColor")||t.hasOwnProperty("hemiIntensity"))&&(this.lightManager.updateHemisphere({skyColor:t.hemiSkyColor,groundColor:t.hemiGroundColor,intensity:t.hemiIntensity}),e=!0),t.hasOwnProperty("dirLightEnabled")){const n=this._host;n&&this.lightManager.setDirectionalEnabled(t.dirLightEnabled,{color:n.state.dirLightColor,intensity:n.state.dirLightIntensity}),e=!0}(t.hasOwnProperty("dirLightColor")||t.hasOwnProperty("dirLightIntensity"))&&(this.lightManager.updateDirectional({color:t.dirLightColor,intensity:t.dirLightIntensity}),e=!0),e&&this.renderThreeD(),(t.hasOwnProperty("fillStyle")||t.hasOwnProperty("floorMaterial3d"))&&(this.sceneManager.updateFloor(this._host),this.renderThreeD())}get domElement(){return this.rendererManager.domElement}getRendererSize(){return this.rendererManager.getSize()}showWebglNoSupportText(t,e,n){t.save(),t.font=e/20+"px Arial",t.textAlign="center",t.fillText("WebGL no support",e/2-e/40,n/2),t.restore()}showDebugFPS(t){t.font="100px Arial",t.textAlign="center",t.fillStyle="black",t.globalAlpha=.5,t.fillText(String(Wl()),100,100)}addOutline(t){this._decoratorOutlines.add(t),this._syncOutlinePass(),this._host?.invalidate()}removeOutline(t){this._decoratorOutlines.delete(t),this._syncOutlinePass(),this._host?.invalidate()}clearOutlines(){this._decoratorOutlines.clear(),this._syncOutlinePass(),this._host?.invalidate()}addArrow(t,e,n,r={}){this.removeArrow(t);const i=e._realObject,s=n._realObject;if(!i?.object3d||!s?.object3d)return;const o=new x.Vector3,a=new x.Vector3;i.object3d.getWorldPosition(o),s.object3d.getWorldPosition(a),o.y+=1,a.y+=1;const c=this.rendererManager.getSize(),l=Ql(o,a,r,new x.Vector2(c.width,c.height));l.name=`arrow-${t}`,l.userData._arrowStyle=r,this.sceneManager.scene?.add(l),this._arrows.set(t,l),this._host?.invalidate()}removeArrow(t){const e=this._arrows.get(t);e&&(e.traverse(t=>{if(t instanceof r.Line2)return t.geometry.dispose(),void t.material.dispose();if(t instanceof x.Sprite){const e=t.material.map;if(e){e.dispose();const t=e.source?.data;t instanceof HTMLCanvasElement&&(t.width=0,t.height=0)}return void t.material.dispose()}(t instanceof x.Mesh||t instanceof x.Line)&&(t.geometry.dispose(),t.material instanceof x.Material&&t.material.dispose())}),e.removeFromParent(),this._arrows.delete(t),this._host?.invalidate())}clearArrows(){for(const t of this._arrows.keys())this.removeArrow(t)}updateArrow(t,e,n){const r=this._getArrowStyle(t);r&&this.addArrow(t,e,n,r)}_getArrowStyle(t){const e=this._arrows.get(t);return e?e.userData._arrowStyle??null:null}_syncOutlinePass(){const t=[...this._selectionOutlineObjects];for(const e of this._decoratorOutlines){const n=e._realObject;n?.object3d&&!t.includes(n.object3d)&&t.push(n.object3d)}this.rendererManager.setOutlineObjects(t)}_handleSelectionChanged(t){const e=t.filter(t=>t!==this._host&&t._realObject);if(e.length>=1){const t=e[0]._realObject;t?.object3d?this.gizmoManager.attach(t.object3d):this.gizmoManager.detach()}else this.gizmoManager.detach();this._updateSelectionOutline(e),this._host?.invalidate()}_updateSelectionOutline(t){this._selectionOutlineObjects=[];for(const e of t){const t=e._realObject;t?.object3d&&this._selectionOutlineObjects.push(t.object3d)}this._syncOutlinePass()}}Va.register("three",{reflow:function(t){},capturables:function(t){return t.state.threed?[]:t.components},drawables:function(t){return t.state.threed?[]:t.components},isStuck:function(t){return!1}});const Ih={x:1,y:1},zh={x:0,y:0},Rh={mutable:!1,resizable:!0,rotatable:!1,properties:[{type:"number",label:"width",name:"width"},{type:"number",label:"height",name:"height"},{type:"select",label:"fit-mode",name:"fitMode",property:{options:["ratio","both","width","height","center","none"]}},{type:"checkbox",label:"3D Mode",name:"threed"},{type:"select",label:"precision",name:"precision",property:{options:[{display:"High",value:"highp"},{display:"Medium",value:"mediump"},{display:"Low",value:"lowp"}]}},{type:"checkbox",label:"anti-alias",name:"antialias"},{type:"checkbox",label:"auto-rotate",name:"autoRotate"},{type:"select",label:"initial-view",name:"initialCameraView",property:{options:[{display:"Perspective",value:"perspective"},{display:"Top",value:"top"},{display:"Front",value:"front"},{display:"Back",value:"back"},{display:"Right",value:"right"},{display:"Left",value:"left"}]}},{type:"number",label:"camera-x",name:"cameraX",property:{step:.01}},{type:"number",label:"camera-y",name:"cameraY",property:{step:.01}},{type:"number",label:"camera-z",name:"cameraZ",property:{step:.01}},{type:"number",label:"fov",name:"fov",property:{min:10,max:120}},{type:"number",label:"near",name:"near",property:{min:.01}},{type:"number",label:"far",name:"far"},{type:"number",label:"zoom",name:"zoom",property:{min:100}},{type:"number",label:"min-zoom",name:"minZoom",property:{min:10,step:10}},{type:"color",label:"sky-color",name:"hemiSkyColor"},{type:"color",label:"ground-color",name:"hemiGroundColor"},{type:"number",label:"hemi-intensity",name:"hemiIntensity",property:{min:0,step:.1}},{type:"checkbox",label:"key-light",name:"dirLightEnabled"},{type:"color",label:"key-color",name:"dirLightColor"},{type:"number",label:"key-intensity",name:"dirLightIntensity",property:{min:0,step:.1}},{type:"object",label:"floor-material",name:"floorMaterial3d"}]};class Lh extends gc{get nature(){return Rh}get is3dMode(){return!!this._threeCapability?.isInitialized}is3dContainer(){return this.is3dMode}get scene3d(){return this._threeCapability?.scene3d}get renderer3d(){return this._threeCapability?.renderer3d}get activeCamera3d(){return this._threeCapability?.activeCamera}get mixer(){return this._threeCapability?.mixer}get zoom(){return this._threeCapability?.zoom}addArrow3D(t,e,n,r){this._threeCapability?.addArrow(t,e,n,r)}removeArrow3D(t){this._threeCapability?.removeArrow(t)}clearArrows3D(){this._threeCapability?.clearArrows()}_buildLightingConfig(){const t=this.state,e={hemisphere:{skyColor:t.hemiSkyColor||"#ffffff",groundColor:t.hemiGroundColor||"#444444",intensity:t.hemiIntensity??1}};return!1!==t.dirLightEnabled&&(e.directional={color:t.dirLightColor||"#ffffff",intensity:t.dirLightIntensity??.8,attachToCamera:!0,castShadow:!1!==t.dirShadowEnabled,shadowMapSize:t.dirShadowMapSize??2048,shadowBias:t.dirShadowBias??-5e-4}),e}_hide2DLayers(){this.canvas&&(this.canvas.style.display="none"),this._overlay&&(this._overlay.style.display="none"),this._auxCanvas&&(this._auxCanvas.style.display="none"),this._decoratorAuxOverlay&&(this._decoratorAuxOverlay.style.display="none");for(const t of this.root?.assist_layers||[])t.element&&(t.element.style.display="none")}_activateThreeD(){if(this._threeCapability&&this._deactivateThreeD(),this._threeCapability=new jh,this._threeCapability.init(this,{lightingConfig:this._buildLightingConfig(),css3DSceneAttribute:"model-layer:css3d-renderer"}),this._hide2DLayers(),this._threeCapability.domElement&&this.element){const t=this._threeCapability.domElement;t.style.position="absolute",t.style.left="0",t.style.top="0",t.style.pointerEvents="none",t.setAttribute("scene","model-layer-webgl"),t.style.opacity="0",t.style.transition="opacity 0.15s ease-in";const e=this._decoratorOverlay||this.element.firstChild;this.element.insertBefore(t,e)}if(this._threeCapability.buildOverlays(),this._lastCameraState)this._threeCapability.restoreSessionState(this._lastCameraState);else{const t=this.model.initialCameraView;t&&"perspective"!==t&&this._threeCapability.setCameraView(t,{render:!1})}this.app?.isEditMode&&this._createToolbar();const t=this.root;t?.selected?.length>0&&this._threeCapability._handleSelectionChanged(t.selected),this._resizeThreeD(!0);const e=this._threeCapability?.domElement;e&&requestAnimationFrame(()=>{e.style.opacity="1"}),this.element&&"function"==typeof this.element.focus&&this.element.focus()}_createToolbar(){if(!this.element)return;this._removeToolbar();const t=!!this._threeCapability,e=document.createElement("div");e.setAttribute("scene","threed-toolbar"),e.style.cssText=["position:absolute","top:12px","left:12px","display:flex","flex-direction:column","gap:1px","padding:4px","background:rgba(30,30,30,0.92)","border:1px solid rgba(255,255,255,0.08)","border-radius:8px","pointer-events:auto","backdrop-filter:blur(8px)","-webkit-backdrop-filter:blur(8px)","box-shadow:0 4px 16px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.05)","user-select:none"].join(";");const n=["width:32px","height:32px","display:flex","align-items:center","justify-content:center","border-radius:5px","cursor:pointer","transition:all 0.12s ease","position:relative"].join(";"),r=(t,e)=>{const r=document.createElement("div");return r.innerHTML=t,r.title=e,r.style.cssText=n,this._applyButtonStyle(r,!1),r.addEventListener("mouseenter",()=>{r.dataset.active||(r.style.background="rgba(255,255,255,0.1)")}),r.addEventListener("mouseleave",()=>{this._applyButtonStyle(r,!!r.dataset.active)}),r},i=()=>{const t=document.createElement("div");return t.style.cssText="height:1px;margin:3px 4px;background:rgba(255,255,255,0.1)",t},s=r(t?'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <rect x="3" y="3" width="14" height="14" rx="1.5"/>\n <line x1="3" y1="10" x2="17" y2="10" opacity="0.4"/>\n <line x1="10" y1="3" x2="10" y2="17" opacity="0.4"/>\n </svg>':'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M10 2l7 4v8l-7 4-7-4V6l7-4z"/>\n <path d="M10 10l7-4M10 10v8M10 10L3 6"/>\n </svg>',t?"2D Mode":"3D Mode");if(this._applyToggleStyle(s,t),s.addEventListener("mouseenter",()=>{s.style.background=t?"rgba(255,160,60,0.35)":"rgba(255,160,60,0.25)"}),s.addEventListener("mouseleave",()=>{this._applyToggleStyle(s,t)}),s.addEventListener("click",()=>{this.set("threed",!this.model.threed)}),e.appendChild(s),!t)return e.addEventListener("mousedown",t=>t.stopPropagation()),e.addEventListener("mouseup",t=>t.stopPropagation()),this.target.appendChild(e),void(this._toolbar=e);e.appendChild(i());const o=this._threeCapability,a=document.createElement("div");a.style.cssText="display:flex;flex-direction:column;gap:1px";const c=o.getCameraState()?.view??"perspective",l=[{view:"perspective",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M4 5l12-1v12l-12-1z"/>\n <circle cx="10" cy="10" r="1.5"/>\n </svg>',title:"Perspective"},{view:"top",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <rect x="4" y="4" width="12" height="12" rx="1"/>\n <path d="M10 2v2M10 16v2"/>\n <path d="M10 7v3l2-1.5" opacity="0.5"/>\n </svg>',title:"Top"},{view:"front",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <rect x="3" y="5" width="14" height="11" rx="1"/>\n <path d="M7 5V3h6v2"/>\n </svg>',title:"Front"},{view:"back",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <rect x="3" y="5" width="14" height="11" rx="1" stroke-dasharray="2 1"/>\n <path d="M7 5V3h6v2"/>\n </svg>',title:"Back"},{view:"right",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M6 4l10 2v8l-10 2z"/>\n <path d="M16 6v8" stroke-width="2"/>\n </svg>',title:"Right"},{view:"left",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M14 4L4 6v8l10 2z"/>\n <path d="M4 6v8" stroke-width="2"/>\n </svg>',title:"Left"}],h=[];for(const{view:t,icon:e,title:n}of l){const i=r(e,n);i.dataset.view=t,t===c&&(this._applyButtonStyle(i,!0),i.dataset.active="1"),i.addEventListener("click",()=>{this._threeCapability?.setCameraView(t)}),h.push(i),a.appendChild(i)}a.appendChild(i());const u=r('<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M5 3h8l4 4v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"/>\n <path d="M7 3v4h6V3"/>\n <rect x="6" y="11" width="8" height="5" rx="0.5"/>\n </svg>',"Save Camera View");u.addEventListener("click",()=>{const t=this._threeCapability?.getCameraState();t&&this.setState&&(this.setState("zoom",t.zoom),this.setState("cameraX",t.cameraX),this.setState("cameraY",t.cameraY),this.setState("cameraZ",t.cameraZ))}),a.appendChild(u),e.appendChild(a),this._cameraSection=a,this._cameraButtons=h;const d=document.createElement("div");d.style.cssText="display:none;flex-direction:column;gap:1px";const p=[{mode:"translate",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M10 2l3 3h-2v4h4v-2l3 3-3 3v-2h-4v4h2l-3 3-3-3h2v-4H5v2l-3-3 3-3v2h4V5H7l3-3z"/>\n </svg>',title:"Move (W)"},{mode:"rotate",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <path d="M14.5 3.5A7 7 0 1 0 17 10"/>\n <path d="M14 1l2 2.5-2.5 2"/>\n </svg>',title:"Rotate (E)"},{mode:"scale",icon:'<svg viewBox="0 0 20 20" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">\n <rect x="3" y="3" width="5" height="5" rx="0.5"/>\n <rect x="12" y="12" width="5" height="5" rx="0.5"/>\n <path d="M8 5.5h4.5V10M12 14.5H7.5V10"/>\n </svg>',title:"Scale (R)"}],f=o.gizmoMode,g=[];for(const{mode:t,icon:e,title:n}of p){const i=r(e,n);i.dataset.mode=t,t===f&&(this._applyButtonStyle(i,!0),i.dataset.active="1"),i.addEventListener("click",()=>{this._threeCapability?.setGizmoMode(t)}),g.push(i),d.appendChild(i)}e.appendChild(d),this._gizmoSection=d,this._gizmoButtons=g,o.onGizmoAttachChanged=t=>{this._toggleToolbarSection(t)},o.onCameraViewChanged=t=>{this._updateCameraButtons(t)},o.onGizmoModeChanged=t=>{this._updateGizmoButtons(t)},e.addEventListener("mousedown",t=>{t.stopPropagation(),t.preventDefault()}),e.addEventListener("mouseup",t=>t.stopPropagation()),this.target.appendChild(e),this._toolbar=e}_applyToggleStyle(t,e){e?(t.style.background="rgba(255,140,40,0.3)",t.style.color="#ffaa44",t.style.boxShadow="inset 0 0 0 1.5px rgba(255,140,40,0.5)"):(t.style.background="rgba(255,140,40,0.15)",t.style.color="#cc8833",t.style.boxShadow="inset 0 0 0 1.5px rgba(255,140,40,0.3)")}_applyButtonStyle(t,e){e?(t.style.background="rgba(74,158,255,0.25)",t.style.color="#4a9eff",t.style.boxShadow="inset 0 0 0 1.5px rgba(74,158,255,0.5)",t.dataset.active="1"):(t.style.background="transparent",t.style.color="rgba(255,255,255,0.55)",t.style.boxShadow="none",delete t.dataset.active)}_toggleToolbarSection(t){this._cameraSection&&(this._cameraSection.style.display=t?"none":"flex"),this._gizmoSection&&(this._gizmoSection.style.display=t?"flex":"none")}_updateCameraButtons(t){this._cameraButtons?.forEach(e=>{this._applyButtonStyle(e,e.dataset.view===t)})}_updateGizmoButtons(t){this._gizmoButtons?.forEach(e=>{this._applyButtonStyle(e,e.dataset.mode===t)})}_removeToolbar(){this._threeCapability&&(this._threeCapability.onGizmoModeChanged=void 0,this._threeCapability.onGizmoAttachChanged=void 0,this._threeCapability.onCameraViewChanged=void 0),this._toolbar?.parentNode&&this._toolbar.parentNode.removeChild(this._toolbar),this._toolbar=void 0,this._cameraSection=void 0,this._gizmoSection=void 0,this._cameraButtons=void 0,this._gizmoButtons=void 0}_resizeThreeD(t=!1){if(!this._threeCapability||!this.element)return;const e=this.canvas?.clientWidth??0,n=this.canvas?.clientHeight??0,r=e>0?e:this.element.clientWidth,i=n>0?n:this.element.clientHeight;r>0&&i>0&&this._threeCapability.resize(r,i,t)}detachThreeCapability(){const t=this._threeCapability;if(t)return t.forceCleanupDragState(),t.clearAllObjects(),this._threeCapability=void 0,t}adoptThreeCapability(t){this._threeCapability=t,this._hide2DLayers();const e=t.domElement;if(e&&this.element){e.style.position="absolute",e.style.left="0",e.style.top="0",e.style.pointerEvents="none",e.setAttribute("scene","model-layer-webgl");const t=this._decoratorOverlay||this.element.firstChild;this.element.insertBefore(e,t)}t.buildOverlays(),t.rebuildForHost(this,{lightingConfig:this._buildLightingConfig(),css3DSceneAttribute:"model-layer:css3d-renderer"}),this.app?.isEditMode&&this._createToolbar(),this._resizeThreeD(!0)}_deactivateThreeD(){if(!this._threeCapability)return;this._removeToolbar(),this._lastCameraState=this._threeCapability.captureSessionState(),this._threeCapability.forceCleanupDragState();const t=this._threeCapability.domElement,e=this._threeCapability.css3DRenderer?.domElement;this._threeCapability.dispose(),this._threeCapability=void 0,e?.parentNode&&e.parentNode.removeChild(e);for(const t of this.components)if(t.isHTMLElement()&&t.element){const e=t.element,n=this.getOverlay(t);n?.appendChild(e)}t?.parentNode&&t.parentNode.removeChild(t),this.canvas&&(this.canvas.style.display=""),this._overlay&&(this._overlay.style.display=""),this._auxCanvas&&(this._auxCanvas.style.display=""),this._decoratorOverlay&&(this._decoratorOverlay.style.display=""),this._decoratorAuxOverlay&&(this._decoratorAuxOverlay.style.display="");for(const t of this.root?.assist_layers||[])t.element&&(t.element.style.display="");for(const t of this.components)t.isHTMLElement()&&t.element&&t.reposition();this.app?.isEditMode&&this._createToolbar(),this.root.target_element?.focus()}async ready(){if(await super.ready(),this.model.threed){if(this._threeCapability)return;await new Promise(t=>setTimeout(t,0)),this._activateThreeD()}else this.app?.isEditMode&&this._createToolbar()}dispose(){this._deactivateThreeD(),this._removeToolbar(),super.dispose(),this._overlay=null,this._decoratorOverlay&&(ys.getInstance().removeOverlay(this._decoratorOverlay),this._decoratorOverlay.parentNode&&this._decoratorOverlay.parentNode.removeChild(this._decoratorOverlay),this._decoratorOverlay=null),this._decoratorAuxOverlay&&(ys.getInstance().removeOverlay(this._decoratorAuxOverlay),this._decoratorAuxOverlay.parentNode&&this._decoratorAuxOverlay.parentNode.removeChild(this._decoratorAuxOverlay),this._decoratorAuxOverlay=null)}contains(t,e){return!0}isRootModel(){return!0}get stuck(){return!0}get layout(){return this.is3dMode?Va.get("three"):$a}get overlay(){if(!this._overlay){const t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","model-layer-overlay"),this.element.insertBefore(t,this.auxCanvas),this._overlay=t,this._repositionOverlay()}return this._overlay}get auxOverlay(){return this.element??void 0}get decoratorOverlay(){if(!this._decoratorOverlay){const t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","decorator-overlay"),t.id=`decorator-overlay-${Date.now()}`,this.element.insertBefore(t,this.overlay),this._decoratorOverlay=t,ys.getInstance().addOverlay(t)}return this._decoratorOverlay}get decoratorAuxOverlay(){if(!this._decoratorAuxOverlay){const t=document.createElement("div");t.style.position="absolute",t.style.width="0",t.style.height="0",t.style.margin="0",t.style.padding="0",t.style.overflow="initial",t.style.zIndex="100",t.style["user-select"]="none",t.style["transform-origin"]="top left",t.setAttribute("scene","decorator-aux-overlay"),t.id=`decorator-overlay-${Date.now()}`,this.element.appendChild(t),this._decoratorAuxOverlay=t,ys.getInstance().addOverlay(t)}return this._decoratorAuxOverlay}createElement(){const t=super.createElement();return this._overlay&&t.appendChild(this._overlay),t}resize(){if(!this.target||!this.element)return;let{width:t,height:e,fitMode:n}=this.model;this.root.fitMode?n=this.root.fitMode:n||(n="ratio");let r=null;try{r=getComputedStyle(this.target)}catch(t){return void Rr(t,this.target)}let i=r?parseFloat(r.getPropertyValue("width")):this.target.clientWidth,s=r?parseFloat(r.getPropertyValue("height")):this.target.clientHeight;switch(n){case"both":case"ratio":break;case"width":s=e*i/t,this.element.style.overflowX="hidden",this.element.style.overflowY="auto";break;case"height":i=t*s/e,this.element.style.overflowX="auto",this.element.style.overflowY="hidden";break;default:i=Math.max(t,i),s=Math.max(e,s),this.element.style.overflowX=i>t?"hidden":"auto",this.element.style.overflowY=s>e?"hidden":"auto"}this.fitSize(this.element,!0),this.fitSize(this.canvas,!0,i,s),this.fitSize(this.auxCanvas,!0,i,s),this.is3dMode&&this._threeCapability.resize(i,s)}draw(t){if(this.is3dMode){if(!this.element)return;this._threeCapability.renderCSS3D()}else this.model.threed||super.draw(t)}get MPP(){const{scale:t={x:1,y:1},unit:e}=this.model;switch(e){case"mm":case"cm":return 1/this.app.PPM/t.x;case"in":return 1/this.app.PPI/t.x;default:return 1/t.x}}capturePath(t,e){const n=this.layout.capturables(this);for(let r=n.length-1;r>=0;r--){const i=n[r];if(!i.isContainer())continue;const s=i.capturePath(t,e);if(s)return s}return!1}getOverlay(t){return t&&!t.scalable?this.auxOverlay:this.overlay}getDecoratorOverlay(t){return t&&!t.scalable?this.decoratorAuxOverlay:this.decoratorOverlay}get eventMap(){return{"(self)":{"(all)":{change:this._onchanged_all,mouseenter:this._onmouseenter_all,mouseleave:this._onmouseleave_all,click:this._onclick,mousedown:this._onmousedownup,mouseup:this._onmousedownup,touchstart:this._onmousedownup,touchend:this._onmousedownup,"deco-reset":t=>this.resetDecorator(void 0,t.origin)},"(descendant)":{"deco-anchors":(t,e)=>this.applyDecorator(e.origin,"anchors",t),"deco-anchors-off":t=>this.offdecorator(t.origin,"anchors"),"deco-anchors-reset":t=>this.resetDecorator("anchors"),"deco-dataspread":(t,e)=>this.applyDecorator(e.origin,"data-spread",t),"deco-dataspread-off":t=>this.offdecorator(t.origin,"data-spread"),"deco-dataspread-reset":t=>this.resetDecorator("data-spread"),"deco-link":(t,e)=>this.applyDecorator(e.origin,"link",t),"deco-link-off":t=>this.offdecorator(t.origin,"link"),"deco-link-reset":t=>this.resetDecorator("link"),"deco-arrow":(t,e)=>this.applyDecorator(e.origin,"bouncing-arrow",t),"deco-arrow-off":t=>this.offdecorator(t.origin,"bouncing-arrow"),"deco-arrow-reset":t=>this.resetDecorator("bouncing-arrow"),"deco-icon":(t,e)=>this.applyDecorator(e.origin,"animated-icon",t),"deco-icon-off":t=>this.offdecorator(t.origin,"animated-icon"),"deco-icon-reset":t=>this.resetDecorator("animated-icon"),"deco-border":(t,e)=>{this.app.isEditMode||(this._threeCapability?this._threeCapability.addOutline(e.origin):this.applyDecorator(e.origin,"border-highlighting",t))},"deco-border-off":t=>{this.app.isEditMode||(this._threeCapability?this._threeCapability.removeOutline(t.origin):this.offdecorator(t.origin,"border-highlighting"))},"deco-border-reset":t=>{this.app.isEditMode||(this._threeCapability?this._threeCapability.clearOutlines():this.resetDecorator("border-highlighting"))},"deco-tag":(t,e)=>this.applyDecorator(e.origin,"decotag",t),"deco-tag-off":t=>this.offdecorator(t.origin,"decotag"),"deco-tag-reset":t=>this.resetDecorator("decotag",t.origin),"deco-off":t=>{this.offdecorator(t.origin),this._threeCapability?.removeOutline(t.origin)},mouseenter:this.onmouseenterForDecorator,mouseleave:this.onmouseleaveForDecorator},"(self)":{change:this.onChangeForDecorator,redraw:this.onRedrawForDecorator}},"(root)":{"(self)":{selected:this._onRootSelected}}}}onRedrawForDecorator(){this.is3dMode||(ys.getInstance().invalidateOverlay(this.decoratorOverlay),ys.getInstance().invalidateOverlay(this.decoratorAuxOverlay))}closeScene(t){requestAnimationFrame(()=>this.overlay.dispatchEvent(new CustomEvent("close-scene",{bubbles:!0,composed:!0,detail:t})))}_repositionOverlay(){const t=this._overlay;if(!t)return;const{translate:e=zh,scale:n=Ih,rotation:r=0}=this.model,{left:i,top:s}=this.bounds;t.style.left=i+"px",t.style.top=s+"px",t.style.transform=`rotate(${r}rad) scale(${n.x}, ${n.y}) perspective(1px)`,t.style.marginLeft=`${e.x}px`,t.style.marginTop=`${e.y}px`}onchange(t){const e=this._model;delete e.id,delete e.text,delete e.class,this._repositionOverlay(),t.hasOwnProperty("threed")&&(t.threed?this._activateThreeD():this._deactivateThreeD()),this.is3dMode&&((t.hasOwnProperty("width")||t.hasOwnProperty("height"))&&this._resizeThreeD(),this._threeCapability.onchange(t))}_onRootSelected(t){const e=1===t?.length?t[0]:t&&0!==t.length?null:this;e&&globalThis.dispatchEvent?.(new CustomEvent("clickComponent",{detail:e}))}_onchanged_all(t,e,n){this.invalidate()}_onmouseenter_all(t,e){if(t.stopPropagation(),!this.app||this.app.isEditMode)return;if(!e)return;const n=e.origin;if(n instanceof Lh||!n.model.event||!n.model.event.hover)return;if(n.hidden)return;const r=n.model.event.hover;r&&this._doEventAction(r,n,!0,t)}_onmouseleave_all(t,e){if(t.stopPropagation(),!e)return;const n=e.origin;if(!this.app||this.app.isEditMode)return;const r=n.model.event&&n.model.event.hover;r&&this._doEventAction(r,n,!1,t)}_onclick(t,e){if(t.stopPropagation(),this.app.isEditMode)return;if(!e)return;const n=e.origin,r=n.model.event?.tap;r&&this._doEventAction(r,n,!0,t)}_onmousedownup(t,e){if(t.stopPropagation(),this.app.isEditMode)return;if(!e)return;const n=e.origin,r=n.model.event?.tap;r&&r.pressed&&this._doMouseDownUpEventAction(r,n,"mousedown"==t.type||"touchstart"==t.type,t)}_doMouseDownUpEventAction(t,e,n,r){const{pressed:i=!1}=t;i&&(n?function(t){if(t.hasOwnProperty("_backupShadow"))return;const e=t.get("shadow");t._backupShadow=e;const{left:n=0,top:r=0}=e||{};t.delta("tx",n),t.delta("ty",r),t.set("shadow",{})}(e):function(t){t.hasOwnProperty("_backupShadow")&&(t.delta("tx",0),t.delta("ty",0),t.set("shadow",t._backupShadow),delete t._backupShadow)}(e))}_doEventAction(t,e,n,r){let{action:i,target:s,value:o,emphasize:a=!1,restore:c=!1,options:l}=t;if(s&&(s=e.access(s)),o&&(o=e.access(o)),a&&(n?function(t){const{hover:e}=t.state.event||{},{emphasize:n}=e||{};if(t.hasOwnProperty("_backupStrokeStyle"))return;if("__backup_emphasize"in t)return;const{strokeStyle:r,lineWidth:i,fillStyle:s}=t.state;t.__backup_emphasize={strokeStyle:r,lineWidth:i,fillStyle:s},t.setState(n)}(e):c&&function(t){"__backup_emphasize"in t&&(t.setState(t.__backup_emphasize),delete t.__backup_emphasize)}(e)),i)switch(i){case"data-toggle":if(!s)return;(n||c)&&this.root.findAll(s,e)?.forEach(t=>{t.data=!t.data});break;case"data-tristate":if(!s)return;(n||c)&&this.root.findAll(s,e)?.forEach(t=>{const e=Math.round(Math.max(Number(t.data)||0,0));t.data=(e+(n?1:2))%3});break;case"data-spreading":if(!s)return;n&&(e.access(o),this.root.findAll(s,e)?.forEach(t=>{t.executeMappings(!0)}));break;case"data-set":if(!s)return;if(n){const t=e.access(o);this.root.findAll(s,e)?.forEach(e=>{e.data=t})}break;case"partial-data-set":if(!s)return;if(n){const t=e.access(o);this.root.findAll(s,e)?.forEach(e=>{e.data={...e.data,...t}})}break;case"value-set":if(!s)return;if(n){const t=e.access(o);this.root.findAll(s,e)?.forEach(e=>{e.value=t})}break;case"partial-value-set":if(!s)return;if(n){const t=e.access(o);this.root.findAll(s,e)?.forEach(e=>{e.value={...e.value,...t}})}break;case"infoWindow":case"info-window":if(!s)return;"click"==r.type||n?Ha.show(e,s,c,{x:r.offsetX,y:r.offsetY}):c&&Ha.hide(e,s);break;case"toggle-info-window":if(!s)return;Ha.toggle(e,s,!1,{x:r.offsetX,y:r.offsetY});break;case"popup":case"modal-popup":if(!s)return;const t=l&&"input"in l?l.input:"(self)",a=!l||(!("output"in l)||l.output);lc.show(e,s,{data:t&&this.root.findFirst(t,e)?.data,output:a,modal:"modal-popup"===i,closable:!0,draggable:!0,origin:"auto"});break;case"close-scene":this.closeScene(e.data);break;case"goto":case"goto-playlist":this.trigger(i,s,l,e);break;case"mouse-cursor":n?this.target.style.cursor=s||"auto":c&&(this.target.style.cursor="auto");break;default:this.trigger(i,s,o,e)}}applyDecorator(t,e,n={}){const r=this.getDecoratorOverlay(t);if(r){ys.getInstance().addToOverlay(r,t,e,n)}}offdecorator(t,e){const n=this.getDecoratorOverlay(t);if(n){ys.getInstance().removeFromOverlay(n,t,e)}}resetDecorator(t,e){const n=this.getDecoratorOverlay(e);n&&ys.getInstance().removeAllFromOverlay(n,t)}onChangeForDecorator(t,e,n){const{origin:r}=n,i=this.getDecoratorOverlay(r);ys.getInstance().invalidateOverlay(i)}onmouseenterForDecorator(t,e){const{origin:n}=e;n.decorators&&n.decorators.forEach(t=>{this.applyDecorator(n,t)})}onmouseleaveForDecorator(t,e){const{origin:n}=e;n.decorators&&n.decorators.forEach(t=>{this.offdecorator(n,t)})}}function Fh(t,e){const n=t.state.refid;return t.root.findAll(t=>t.isLine()&&t.from.component===n&&(!e||t.from.anchor===e))}function Nh(t,e){const n=t.state.refid;return t.root.findAll(t=>t.isLine()&&t.to.component===n&&(!e||t.to.anchor===e))}function Bh(t){return class extends t{isConnectable(){return!0}postrender(t){super.postrender(t),this._draw_anchors(t)}_draw_anchors(t){const e=this.anchors||[];t.save(),e.forEach(e=>{const{draw:n}=e;if(n){t.beginPath();try{n.call(e,t,this)}catch(t){Rr(t)}t.closePath()}}),t.restore()}contains(t,e){let n=super.contains(t,e);if(n)return n;const r=this.anchors||[];for(const i of r){const r=i.bounds;if(!r)continue;const{left:s,top:o,width:a,height:c}=r;if(n=t<Math.max(s+a,s)&&t>Math.min(s+a,s)&&e<Math.max(o+c,o)&&e>Math.min(o+c,o),n)return n}return!1}findInOutLines(t){return function(t,e){const n=t.state.refid;return t.root.findAll(t=>!(!t.isLine()||(t.from.component!==n||e&&t.from.anchor!==e)&&(t.to.component!==n||e&&t.to.anchor!==e)))}(this,t)}findOutletLines(t){return Fh(this,t)}findOutletEnds(t){return function(t,e){return Fh(t,e).map(t=>t.toEnd?.component).filter(Boolean)}(this,t)}findInletLines(t){return Nh(this,t)}findInletEnds(t){return function(t,e){return Nh(t,e).map(t=>t.fromEnd?.component).filter(Boolean)}(this,t)}}}Lh.Popup=lc,La.register("model-layer",Lh);const Gh={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0}}],help:"scene/component/rect"},Yh={ondragmove:function(t,e,n){const{left:r,width:i,height:s}=n.model;let o=(n.fromParent(t.x,t.y).x-r)/(i/2)*100;o=Na(o,i,s),n.set({round:o})}};class Uh extends(Bh(Ba(Fa))){is3dish(){return!0}get controls(){let{left:t,top:e,width:n,round:r,height:i}=this.state;return r=null==r?0:Na(r,n,i),[{x:t+n/2*(r/100),y:e,handler:Yh}]}get nature(){return Gh}}La.register("rect",Uh);const Hh=[1,2,10,20,50,50,50,50,50,50];class Wh extends(Ba(Fa)){render(t){const{lineWidth:e=1,fillStyle:n="lightgray",font:r="15px Arial",left:i,top:s,origin:o,width:a,height:c,side:l="bottom",strokeStyle:h="#000000",scale:u=1}=this.state;t.translate(i,s),t.beginPath();const d=Math.round(e/2);t.rect(-d,-d,a+2*d,c+2*d),t.clip(),t.beginPath(),t.rect(0,0,a,c),n&&(t.fillStyle=n,t.fill()),t.lineWidth=e,t.strokeStyle=h,t.stroke(),t.beginPath(),t.font=r;const p="bottom"!==l,f=p?0:c;let g=4*c/5,m=2*c/3,y=1*c/2,b=3*c/5;p&&(g=c-g,m=c-m,y=c-y,b=c-1.5*c/5);const v=u*this.app.PPM/this.root.unitScale;let x=Math.ceil(o/v);const _=this.app.PPM/v,w=_<=1.1?1:Hh[Math.round(_)]||100;1!=w&&(x+=(w-x%w)%w);let A=Math.ceil(x*v);const S=o+a;for(t.fillStyle=h;A<S;){if(x%10==0){t.moveTo(A-o,y),t.lineTo(A-o,f);const e=(x/10).toString(),n=t.measureText(e);t.fillText(e,A-o-n.width-6,b)}else x%5==0?(t.moveTo(A-o,m),t.lineTo(A-o,f)):(t.moveTo(A-o,g),t.lineTo(A-o,f));x+=w,A=Math.ceil(x*v)}}}La.register("ruler",Wh);const Vh=20,$h=20,Xh=90*Math.PI/180,qh="9px Verdana",Kh=20,Zh="#f4f4f4",Qh="#999";function Jh(t,e,n){return{left:-t.x,top:-t.y,width:Vh,height:Kh}}function tu(t,e,n,r){return{left:Vh-t.x,top:0-t.y,origin:20-t.x,width:e-Vh,height:Kh}}function eu(t,e,n,r){const i={x:0-t.x+10,y:-t.y+$h+(n-$h)/2},s=La.transcoordRR(0-t.x,-t.y+$h,i,Xh);return{left:s.x-(n-$h),top:s.y,origin:20-t.y,width:n-$h,height:Kh}}function nu(t){const e=t.get("translate");return{left:-e.x,top:-e.y,width:t.canvas.width/xi,height:t.canvas.height/xi}}La.register("guide-layer",class extends fc{constructor(t,e){super(t,e),this.appScale={x:1,y:1},"disabled"!==t.ruler&&(this.hruler=new Wh({left:Vh,top:0,origin:20,margin:0,height:Kh,unit:"m",rotation:0,font:qh,fillStyle:Zh,strokeStyle:Qh,capturable:!1}),this.vruler=new Wh({left:0,top:0,origin:20,margin:0,height:Kh,unit:"m",rotation:Xh,font:qh,side:"top",fillStyle:Zh,strokeStyle:Qh,capturable:!1}),this.origin_rect=new Uh({left:-20,top:-20,width:20,height:20,fillStyle:Zh,strokeStyle:Qh,lineWidth:1}),this.addComponent(this.hruler),this.addComponent(this.vruler),this.addComponent(this.origin_rect)),this.invalidate()}get capturable(){return!1}async ready(){if(await super.ready(),!this.hruler)return void(this.screen_coord=nu(this));const t=this.rootModel,e=Object.assign({},t.get("translate"));e.x<Vh&&(e.x+=Vh),e.y<$h&&(e.y+=$h);const n=t.get("scale")||{x:1,y:1};this.appScale=n,this.hruler.set("scale",n.x),this.vruler.set("scale",n.y),t.set("translate",e),this.set("translate",e),this.screen_coord=nu(this);const{width:r,height:i}=this.screen_coord;this.hruler.set(tu(e,r)),this.vruler.set(eu(e,0,i)),this.origin_rect.set(Jh(e))}resize(){super.resize(),this.screen_coord=nu(this);const{width:t,height:e}=this.screen_coord;this.hruler&&(this.hruler.set(tu(this.model.translate,t)),this.vruler.set(eu(this.model.translate,0,e)),this.origin_rect.set(Jh(this.model.translate)))}render(t){if(this.rootModel?.is3dMode)return;if(!this.guide)return;t.save();const{x:e,y:n}=this.guide,{top:r,left:i,width:s,height:o}=this.screen_coord;t.beginPath(),t.moveTo(e,r),t.lineTo(e,r+o),t.moveTo(i,n),t.lineTo(i+s,n),t.lineWidth=1,t.strokeStyle="tomato",t.setLineDash([2,3]),t.font="10px tahoma",t.fillStyle="#333";const a=this.toGlobal(e,n,this.rootModel);t.textBaseline=a.y>200?"bottom":"top",t.textAlign=a.x>200?"right":"left";const c=a.y>200?-5:5,l=a.x>200?-5:5,h=Math.round(e/this.appScale.x),u=Math.round(n/this.appScale.y);t.fillText(` ${h}, ${u} `,e+l,n+c),t.stroke(),t.restore()}get guide(){return this._guide}set guide(t){this._guide=t,this.invalidate()}contains(t,e){return!0}get eventMap(){return{"(root)":{"(descendant)":{mousemove:this.onmousemove_child,mouseout:this.onmouseout_child,dragmove:this.onmousemove_child},"model-layer":{change:this.onchange_root_model}},"(self)":{"(descendant)":{mousedown:this.onmousedown_origin}}}}onmousedown_origin(t,e){this.rootModel.set("translate",{x:20,y:20})}onchange_root_model(t,e,n){if(t.scale&&(this.appScale=t.scale,this.hruler&&(this.hruler.set("scale",t.scale.x),this.vruler.set("scale",t.scale.y))),t.translate&&this.set({translate:{x:t.translate.x,y:t.translate.y}}),t.scale||t.translate){if(this.screen_coord=nu(this),this.hruler){const{translate:t}=this.model,{width:e,height:n}=this.screen_coord;this.hruler.set(tu(t,e)),this.vruler.set(eu(t,0,n)),this.origin_rect.set(Jh(t))}this._guide=null}this.invalidate()}onmouseout_child(t){this._guide=null,this.invalidate()}onmousemove_child(t,e){t.target&&"CANVAS"!==t.target.tagName?this.guide=null:this.guide=this.toLocal(t.offsetX,t.offsetY)}});La.register("shift-layer",class extends fc{async ready(){await super.ready();const t=this.rootModel.get("translate");this.set("translate",t)}render(t){}get pointerEvents(){return"none"}contains(t,e){return!(2!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown,keyup:this.onkeyup}}}}onkeydown(t){"Space"===t.code&&void 0===this.before_mode&&(this.before_mode=this.app.mode,this.app.mode=2)}onkeyup(t){"Space"===t.code&&(void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode)}ondragstart(t){this.last_position=this.toLocal(t.offsetX,t.offsetY)}ondragmove(t){const{x:e,y:n}=this.toLocal(t.offsetX,t.offsetY);this.rootModel.move({x:e-this.last_position.x,y:n-this.last_position.y},!1),this.last_position=this.toLocal(t.offsetX,t.offsetY)}});function ru(t,e,n,r){const i=t.selected;let s=r?i.slice(0):[];r&&s.length>0?e=s[0].parent:e.isContainer()||(e=e.parent);const o=e.layout.capturables(e),a=!!e.layout.joinType;if(r&&n.selected.forEach(t=>{s.splice(s.indexOf(t),1)}),n.selected=[],o.forEach(t=>{t.capturable&&function(t,e,n){const{sx:r,sy:i,ex:s,ey:o}=e;let a,c,l,h;if(r>s?(a=s,c=r):(a=r,c=s),i>o?(l=o,h=i):(l=i,h=o),n){const e=t.bounds,n=t.transcoordS2TR(e.left,e.top),r=t.transcoordS2TR(e.left+e.width,e.top+e.height),i=n.x,s=r.x,o=n.y,u=r.y,d=Math.min(a,i,c,s),p=Math.max(a,i,c,s),f=Math.min(l,o,h,u),g=Math.max(l,o,h,u);return!(p-d>Math.abs(c-a)+Math.abs(s-i)||g-f>Math.abs(h-l)+Math.abs(u-o))}{const e=t.path;if(!e)return Rr("컴포넌트에 get path가 잘못 구현되어있음.",t),!1;for(let n=0;n<e.length;n++){const r=t.transcoordS2TR(e[n].x,e[n].y);if(a>r.x||c<r.x||l>r.y||h<r.y)return!1}return!0}}(t,n,a)&&-1==s.indexOf(t)&&n.selected.push(t)}),s=s.concat(n.selected),i.length!==s.length)t.selected=s;else for(let e=0;e<s.length;e++)if(i[e]!=s[e]){t.selected=s;break}}function iu(t,e,n,r,i){i||ru(t,e,n,r)}function su(t,e){const n=t.components||[];for(const t of n){su(t,e);const n=e.indexOf(t);-1!=n&&e.splice(n,1)}}La.register("add-layer",class extends fc{async ready(){await super.ready();const t=this.rootModel,e=t.get("translate"),n=t.get("scale");this.set("translate",e),this.set("scale",n)}get pointerEvents(){return"none"}render(t){const e=this.addbox;if(e){const{sx:n,sy:r,ex:i,ey:s}=e,o=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(n,r,i-n,s-r),t.setLineDash([2/o.x,4/o.y]),t.lineWidth=1/o.x,t.strokeStyle="black",t.stroke()}}contains(t,e){return!(3!=this.app.mode)}get eventMap(){return{"(root)":{"(self)":{addstart:this.onaddstart,addstop:this.onaddstop,keydown:this.onkeydown,dragstart:this.ondragstart,dragmove:this.ondragmove,dragend:this.ondragend,mousedown:this.onmousedown,mouseup:this.onmouseup}},"model-layer":{"(self)":{change:this.onchange_root_model}}}}onchange_root_model(t,e,n){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}onaddstart(t,e){void 0===this.before_mode&&(this.before_mode=this.app.mode,this.models=t,this.app.mode=3,this.root.target_element?.focus())}onaddstop(){void 0!==this.before_mode&&(this.app.mode=this.before_mode),delete this.before_mode,delete this.addbox,this.invalidate()}onkeydown(t){3!==this.app.mode||"Esc"!=t.code&&"Escape"!=t.code||this.root.trigger("addstop")}ondragstart(t){const{x:e,y:n}=this.toLocal(t.offsetX,t.offsetY);this.addbox={sx:e,sy:n}}ondragmove(t){if(3!==this.app.mode)return;const{x:e,y:n}=this.toLocal(t.offsetX,t.offsetY);this.addbox&&(this.addbox.ex=e,this.addbox.ey=n,this.invalidate())}ondragend(t,e){if(3!==this.app.mode)return;const{sx:n,sy:r,ex:i,ey:s}=this.addbox;qc.call(this.root,this.models,{left:Math.min(n,i),top:Math.min(r,s),width:Math.abs(i-n),height:Math.abs(s-r)}),this.root.trigger("addstop")}onmousedown(t,e){3===this.app.mode&&(this.downpoint={x:t.offsetX,y:t.offsetY})}onmouseup(t,e){if(this.downpoint.x!==t.offsetX||this.downpoint.y!==t.offsetY)return;const{x:n,y:r}=this.toLocal(t.offsetX,t.offsetY);qc.call(this.root,this.models,{cx:n,cy:r}),this.root.trigger("addstop")}});La.register("selection-layer",class extends fc{async ready(){await super.ready();const t=this.rootModel,e=t.get("translate"),n=t.get("scale");this.set("translate",e),this.set("scale",n)}contains(t,e){return!1}render(t){const e=this.selbox;if(e){const{sx:n,sy:r,ex:i,ey:s}=e,o=this.get("scale")||{x:1,y:1};t.beginPath(),t.rect(n,r,i-n,s-r),t.setLineDash([2/o.x,4/o.y]),t.lineWidth=1/o.x,t.strokeStyle="black",t.stroke()}}get eventMap(){return{"(root)":{"(self)":{keydown:this.onkeydown}},"model-layer":{"(self)":{change:this.onchange_root_model},"(all)":{dragstart:this.ondragstart_selbox,dragmove:this.ondragmove_selbox,dragend:this.ondragend_selbox,mousedown:this.onmousedown_comp,mouseup:this.onmouseup_comp}}}}onkeydown(t,e){const{deliverer:n}=e,r=n.selected;if(1!==r.length)return!1;let i=r[0];const s=i.parent;if(!s||s===n)return!1;if("Tab"===t.code){const e=s.layout.capturables(s);let n=e.indexOf(i);if(-1==n){if(!s.indexOf(i))return Lr("Container not contains [",i,"] as a component"),!1;n=0}const r=e.length;t.shiftKey?n--:n++,i=e[(n+r)%r]}else{if(!s.layout.keyNavigate)return!1;i=s.layout.keyNavigate(s,i,t)||i}n.selected=[i],t.preventDefault()}onchange_root_model(t,e,n){t.translate&&this.set("translate",t.translate),t.scale&&this.set("scale",t.scale)}_pendingDecision(t){this.downpoint={x:t.offsetX,y:t.offsetY}}_selectGroupItem(t,e){const n=this.selected.indexOf(t);let r=t.parent;for(;r.parent.isGroup();)r=r.parent;let i=[],s=!1,o=!1;if(this.selected.forEach(t=>{let e=t.parent;if(t!==r){for(;e.parent&&e.parent.isGroup();)e=e.parent;e===r&&(i.push(t),s=!0)}else o=!0}),s)if(e.shiftKey){if(-1!=n)return void this._pendingDecision(e);i.push(t)}else{if(-1!=n)return void this._pendingDecision(e);i=[t]}else{if(o)return void this._pendingDecision(e);if(e.shiftKey)if(this.selected.length>0){if(-1!=this.selected.indexOf(r))return;i=[...this.selected,r]}else i=[r];else i=[r]}this.selected=i}onmousedown_comp(t,e){const{origin:n}=e;if(this.downpoint=null,t.shiftKey){if(n.parent.isGroup())return void this._selectGroupItem(n,t);if(-1!=this.selected.indexOf(n))return void this._pendingDecision(t);{const t=this.selected.filter(t=>!t.isRootModel()&&!!t.parent),e=t.length>0&&t[0].parent;e&&e!==n.parent&&(!function(t,e){let n=t.parent;for(;n;){const t=e.indexOf(n);-1!=t&&e.splice(t,1),n=n.parent}}(n,t),su(n,t)),t.push(n),this.selected=t}}else{if(n.parent.isGroup())return void this._selectGroupItem(n,t);if(-1!=this.selected.indexOf(n))return;this.selected=[n],this.sameParent=!0}}onmouseup_comp(t,e){if(!this.downpoint)return;if(this.downpoint.x!==t.offsetX||this.downpoint.y!==t.offsetY)return;const{origin:n}=e;let r=this.selected.indexOf(n);if(-1==r&&n.parent.isGroup()&&(r=this.selected.indexOf(n.parent)),-1!==r&&t.shiftKey){const t=this.selected.slice();return r>-1&&t.splice(r,1),void(this.selected=t)}n.parent.isGroup()&&(this.selected=[n])}ondragstart_selbox(t,e){const{origin:n}=e;if(!n.stuck)return;const{x:r,y:i}=this.toLocal(t.offsetX,t.offsetY);this.selbox={sx:r,sy:i,selected:[]}}ondragmove_selbox(t,e){const{origin:n}=e;if(!n.stuck)return;const{x:r,y:i}=this.toLocal(t.offsetX,t.offsetY);this.selbox&&(this.selbox.ex=r,this.selbox.ey=i,iu(this,n,this.selbox,t.shiftKey,!1),this.invalidate())}ondragend_selbox(t,e){const{origin:n}=e;n.stuck&&(this.last_pos=null,this.selbox=null,iu(this,null,null,!1,!0),this.invalidate())}});class ou{constructor(t){this.layer=t}draw(t,e,n){const{left:r,top:i,width:s,height:o}=e.bounds;0!=s&&0!=o&&(t.beginPath(),t.rect(r,i,s,o),t.clip(),t.beginPath(),t.strokeStyle="#f26522",t.lineWidth=4,t.shadowBlur=10,t.shadowColor="black",t.shadowOffsetX=0,t.shadowOffsetY=0,t.rect(r,i,s,o),t.stroke(),t.closePath())}}class au{constructor(t){this.layer=t}draw(t,e,n){const r=e.bounds;t.beginPath(),t.rect(r.left-4/n.x,r.top-4/n.y,r.width+8/n.x,r.height+8/n.y),t.setLineDash([3/n.x,4/n.y]),t.lineWidth=1/n.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),t.closePath()}}class cu{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,n,r){const i=n.controls;return!!i&&(i.every((i,s)=>(Math.abs(t-i.x)<=4/r.x&&Math.abs(e-i.y)<=4/r.y&&(this.active={component:n,index:s,handler:i.handler}),!this.active)),!!this.active)}draw(t,e,n){const r=e.controls;r&&r.forEach((e,r)=>{t.beginPath(),t.lineWidth=1/n.x,t.ellipse(e.x,e.y,4/n.x,4/n.y,0,0,2*Math.PI,!0),t.fillStyle="#ff5d72",t.fill(),t.strokeStyle="#fff",t.stroke()})}onevent(t,e){const{handler:n,component:r,index:i}=this.active;let s=r.toLocal(e.offsetX,e.offsetY);s=r.toParent(s.x,s.y),n&&"function"==typeof n[t]&&n[t](s,i,r)}onmousedown(t){this.onevent("onmousedown",t)}ondragstart(t){const e=this.active;e.changes=Dc.before([e.component]),this.onevent("ondragstart",t)}ondragmove(t){this.onevent("ondragmove",t)}ondragend(t){this.onevent("ondragend",t);const{component:e,changes:n}=this.active;Dc.after(n,e.app.commander),e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}function lu(t,e){return Math.atan2(e.y-t.y,e.x-t.x)}const hu=15*Math.PI/180;class uu{constructor(t){this.layer=t}reset(){this.active=null,this.created=null}get selected(){return this.layer.selected}contains(t,e,n,r){return!!n.mutable&&(n.path.every((i,s)=>(Math.abs(t-i.x)<=4/r.x&&Math.abs(e-i.y)<=4/r.y&&(this.active={component:n,index:s}),!this.active)),!!this.active)}startLinkProcess(t,e,n){try{const r=$c(e,t.app,void 0);return t.rootModel.addComponent(r),this.layer.selected=[r],this.active={component:r,index:1},this.ondragstart(n),r}catch(t){Lr(t)}}draw(t,e,n){if(!e.mutable||e.stuck)return;const r=e.path,i=this.active;r.forEach((r,s)=>{t.beginPath(),t.ellipse(r.x,r.y,4/n.x,4/n.y,0,0,2*Math.PI,!0),t.lineWidth=1/n.x,t.strokeStyle="#656565",t.fillStyle="#fff",i&&i.component===e&&i.index===s&&(t.strokeStyle="#fa7703",i.toFill&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke()})}ondblclick(t){const e=this.active.component;if(!e.pathExtendable)return;const n=e.path.slice();n.length<3||(n.splice(this.active.index,1),e.path=n)}onmousedown(t){this.active.toFill=!0}ondragstart(t){const{index:e,component:n}=this.active;this.created||(this.active.changes=Dc.before([n])),0!==e&&e!==n.path.length-1||(this.layer.counterEnd=0===e?n.toEnd||{fromto:"to"}:n.fromEnd||{fromto:"from"})}ondragmove(t){const{component:e,index:n}=this.active||{},{offsetX:r,offsetY:i}=t;let s=e.toLocal(r,i);if(s=e.toParent(s.x,s.y),t.shiftKey){const t=e.path.length;let r=e.isLine()&&0==n?e.path[1]:e.path[(n-1+t)%t];r=e.toParent(r.x,r.y);let i=0;if(t>2){let s;e.isLine()?0==n?s=e.path[2]:1!=n&&(s=e.path[n-2]):s=e.path[(n-2+t)%t],s&&(s=e.toParent(s.x,s.y),i=lu(s,r))}const c=Math.round((lu(r,s)-i)/hu)*hu+i;s=function(t,e,n){return{x:Math.cos(e)*n+t.x,y:Math.sin(e)*n+t.y}}(r,c,(o=r,a=s,Math.sqrt((a.x-o.x)*(a.x-o.x)+(a.y-o.y)*(a.y-o.y))))}var o,a;if(0===n||n===e.path.length-1){const t=this.layer.anchorTarget=e.rootModel.capture(r,i,t=>!t.isConnectable());if(t){const{x:o,y:a}=t.toLocal(r,i),c=this.layer.get("scale")||{x:1,y:1},l=this.layer.counterEnd,h=(t.anchors||[]).find(n=>{const{name:r,inout:i,multiplicity:s=1/0,position:h,filter:u}=n;if(l){const{anchor:t,fromto:e}=l;if(t&&("out"===t.inout&&"out"===i||"in"===t.inout&&"in"===i))return!1;if("from"===e&&"out"===i||"to"===e&&"in"===i)return!1}else Rr("should not be here.");if(Math.abs(o-h.x)>8/c.x||Math.abs(a-h.y)>8/c.y)return!1;const d=t.findInOutLines(r);return!!d.includes(e)||!(s!==1/0&&d.length>=s)&&(!l||!u||!!u.call(n,l))});h?0==n?e.from={component:t.get("refid"),anchor:h.name,position:s}:e.to={component:t.get("refid"),anchor:h.name,position:s}:0==n?e.from={position:s}:e.to={position:s}}}e.mutatePath(null,function(t){t[n]=s})}ondragend(t){const{component:e,index:n,changes:r}=this.active;if(0===n||n===e.path.length-1){const{offsetX:r,offsetY:i}=t,s=e.rootModel.capture(r,i,t=>t===e||t.isLine()),{x:o,y:a}=s.toLocal(r,i),c=this.layer.get("scale")||{x:1,y:1},l=(s.anchors||[]).find(t=>t&&Math.abs(o-t.position.x)<=8/c.x&&Math.abs(a-t.position.y)<=8/c.y);l&&(0==n?e.from={component:s.get("refid"),anchor:l.name}:e.to={component:s.get("refid"),anchor:l.name}),this.layer.endLinkProcess()}if(this.created){const t=new Hc({changes:[{component:this.created,to_container:this.created.parent}]});this.created.app.commander.execute(t)}else Dc.after(r,e.app.commander);e.parent&&e.parent.calculateBounds&&e.parent.calculateBounds()}}function du(t,e,n){return t.filter(t=>{const{name:r,inout:i,multiplicity:s=1/0,filter:o}=t;if(n){const{anchor:t,fromto:e}=n;if(t&&("out"===t.inout&&"out"===i||"in"===t.inout&&"in"===i))return!1;if("from"===e&&"out"===i||"to"===e&&"in"===i)return!1}else if("in"===i)return!1;return!(s!==1/0&&e.findInOutLines(r).length>=s)&&(!o||!n||!!o.call(t,n))})}class pu{constructor(t){this.layer=t}get active(){return this._active?.component.disposed&&(this._active=null),this._active}set active(t){this._active=t}reset(){this.active=null}contains(t,e,n,r){const i=this.active?.component===n&&this.active?.anchor;this.active=null;const s=this.layer.counterEnd;return du(n.isConnectable()&&!n.disposed&&this.getAnchorHandles(n,r)||[],n,s).every(s=>{const o=i===s.name?2:1;return s&&s.position&&Math.abs(t-s.position.x)<=4*o/r.x&&Math.abs(e-s.position.y)<=4*o/r.y&&(this.active={component:n,anchor:s.name,template:s.template}),!this.active}),!!this.active}getAnchorHandles(t,e){const{width:n,height:r}=t.bounds;return n*e.x<30||r*e.y<30?[]:t.anchors}draw(t,e,n){if(!e.get("refid")||e.isLine())return;const r=this.active,i=this.active?.component===e&&this.active?.anchor,s=this.layer.counterEnd;du(e.isConnectable()&&!e.disposed&&this.getAnchorHandles(e,n)||[],e,s).forEach(s=>{const{name:o,position:a}=s,c=i===o?2:1;a&&(t.beginPath(),t.ellipse(a.x,a.y,4*c/n.x,4*c/n.y,0,0,2*Math.PI),t.setLineDash([0,0]),t.lineWidth=1/n.x,t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",r&&r.component===e&&r.anchor===o&&(t.strokeStyle="#fa7703",r.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())})}onmousedown(t){this.active.focus=!0}ondragstart(t){const{component:e,anchor:n,template:r}=this.active,i=this.layer.toLocal(t.offsetX,t.offsetY);this.layer.startLinkProcess(e,{type:"ortholine",lineWidth:1,strokeStyle:"black",begin:"oval",beginSize:"size9",end:"arrow",endSize:"size9",lineDash:"solid",lineCap:"butt",round:10,...r,from:{component:e.get("refid"),anchor:n,position:i},to:{position:i}},t)}ondragmove(t){}ondragend(t){}}function fu(t,e){const{left:n,top:r,width:i,height:s}=t,o=n+i/2,a=r+s/2,c=n+i,l=r+s,h=i*e.x>50,u=s*e.y>50;return[{x:n,y:r},h?{x:o,y:r}:{x:null,y:null},{x:c,y:r},u?{x:c,y:a}:{x:null,y:null},{x:c,y:l},h?{x:o,y:l}:{x:null,y:null},{x:n,y:l},u?{x:n,y:a}:{x:null,y:null}]}class gu{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,n,r){if(!n.resizable)return!1;const i=fu(n.bounds,r);for(let s=0;s<i.length;s++){const o=i[s];if(null!=o.x&&null!=o.y&&Math.abs(t-o.x)<=4/r.x&&Math.abs(e-o.y)<=4/r.y)return this.active={component:n,index:s},!0}return!1}draw(t,e,n){if(e.isLine())return;const{left:r,top:i,width:s,height:o}=e.bounds;if(t.beginPath(),t.rect(r-4/n.x,i-4/n.y,s+8/n.x,o+8/n.y),t.setLineDash([3/n.x,4/n.y]),t.lineWidth=1/n.x,t.strokeStyle="black",t.stroke(),t.setLineDash([]),!e.resizable)return;const a=this.active;fu(e.bounds,n).forEach((r,i)=>{null!=r.x&&null!=r.y&&(t.beginPath(),t.rect(r.x-4/n.x,r.y-4/n.y,8/n.x,8/n.y),t.setLineDash([]),t.strokeStyle="#656565",t.stroke(),t.fillStyle="#fff",a&&a.component===e&&a.index===i&&(t.strokeStyle="#fa7703",a.focus&&(t.fillStyle="#ffb80c")),t.fill(),t.stroke())})}onmousedown(t){this.active.focus=!0}ondragstart(t){const{component:e}=this.active;this.active.bounds=e.bounds,this.active.boundsList=this.layer.selected.filter(t=>t.resizable).map(t=>t.bounds)}_resizeAll(t,e){const{component:n,index:r,boundsList:i,bounds:s}=this.active,o=n.scalable?this.layer.toLocal(t.offsetX,t.offsetY):{x:t.offsetX,y:t.offsetY};n.bounds=s;const a=function(t,e,n){const{left:r,top:i,width:s,height:o}=t.bounds;let a,c;switch(e){case 0:a=r,c=i;break;case 1:a=r+s/2,c=i;break;case 2:a=r+s,c=i;break;case 3:a=r+s,c=i+o/2;break;case 4:a=r+s,c=i+o;break;case 5:a=r+s/2,c=i+o;break;case 6:a=r,c=i+o;break;case 7:a=r,c=i+o/2}const l=a,h=c,u=t.fromScene(n.x,n.y);return{dx:u.x-l,dy:u.y-h}}(n,r,o);this.layer.selected.filter(t=>t.resizable).forEach((n,s)=>{n.bounds=i[s],function(t,e,n,r,i,s){let{left:o,top:a,width:c,height:l}=t.bounds;const h={left:o,top:a,width:c,height:l};switch(e){case 0:o+=r,a+=i,c-=r,l-=i;break;case 1:a+=i,l-=i;break;case 2:a+=i,c+=r,l-=i;break;case 3:c+=r;break;case 4:c+=r,l+=i;break;case 5:l+=i;break;case 6:o+=r,c-=r,l+=i;break;case 7:o+=r,c-=r}if(t.mutateBounds(function(e){return Math.abs(c)<=.001&&(c=.001),Math.abs(l)<=.001&&(l=.001),t.adjustResize({left:o,top:a,width:c,height:l},h,n)},this),t.isContainer()&&t.layout.ABSOLUTE&&!t.isGroup()){const e=h.left-o,n=h.top-a;return void(s?t.components.forEach(t=>{t.delta("tx",0),t.delta("ty",0),t.move({x:e,y:n},!1)}):t.components.forEach(t=>{t.delta("tx",e),t.delta("ty",n)}))}const u=s&&t.parent;u&&u.isGroup()&&u.calculateBounds()}(n,r,t.shiftKey,a.dx,a.dy,e)})}ondragmove(t){this._resizeAll(t,!1)}ondragend(t){this._resizeAll(t,!0),this.active.component.app.commander.execute(null,!1)}}const mu=2*Math.PI,yu=Math.PI/2;function bu(t,e){const n=t.bounds;return{x:n.left+n.width/2,y:n.top-20/e.y}}class vu{constructor(t){this.layer=t}reset(){this.active=null}get selected(){return this.layer.selected}contains(t,e,n,r){if(!n.rotatable)return!1;const i=bu(n,r);return Math.abs(t-i.x)<=4/r.x&&Math.abs(e-i.y)<=4/r.y&&(this.active={component:n},!0)}draw(t,e,n){if(!e.rotatable)return;t.beginPath();const r=bu(e,n);t.lineWidth=1.5/n.x,t.moveTo(r.x,r.y+20/n.y),t.lineTo(r.x,r.y),t.strokeStyle="#656565",t.stroke(),t.beginPath(),t.ellipse(r.x,r.y,4/n.x,4/n.y,0,0,mu,!0),t.stroke(),t.fillStyle="#fff",t.fill();const i=this.active;i&&i.component===e&&(t.strokeStyle="#fa7703",t.stroke(),i.toFill&&(t.fillStyle="#ffb80c",t.fill()))}onmousedown(t){this.active.toFill=!0}ondragstart(t){const e=this.active;e.start_rotation=e.component.get("rotation"),e.rotations=this.layer.selected.filter(t=>t.rotatable).map(t=>t.get("rotation"))}ondragmove(t){const{component:e}=this.active;let n;e.scalable?(n=e.toLocal(t.offsetX,t.offsetY),n=e.toParent(n.x,n.y)):(n={x:t.offsetX,y:t.offsetY},e.parent?.isRootModel()||(n=e.toParent(n.x,n.y)));const r=e.rotatePoint,i=e.get("rotation")||0;let s=Math.atan((r.y-n.y)/(r.x-n.x));s=r.x>=n.x?s-yu:yu+s;const o=s-i;this.layer.selected.filter(t=>t.rotatable).forEach((e,n)=>{const r=((e.get("rotation")||0)+o)%mu;e.set("rotation",e.adjustRotation(r,t.shiftKey))})}ondragend(t){const{component:e}=this.active;e.app.commander.execute(null,!1)}}La.register("modeling-layer",class extends gc{constructor(t,e){super(t,e),this.pathHandler=new uu(this);const n=this.pathHandler,r=new cu(this),i=new gu(this),s=new vu(this);this._modelers=[n,r,i,s],this._control_mode_modelers=[r,n,i,s],this.focusOutline=new ou(this),this.groupOutline=new au(this),this.anchorHandler=new pu(this),this._reversed_modelers=this._modelers.slice().reverse(),this._control_mode_reverse_modelers=this._control_mode_modelers.slice().reverse(),this.hovered=null,this.hoveredDest=null}get modelers(){return this._control_mode?this._control_mode_modelers:this._modelers}get reversedModelers(){return this._control_mode?this._control_mode_reverse_modelers:this._reversed_modelers}async ready(){await super.ready();const t=this.rootModel,e=t.get("translate"),n=t.get("scale");this.set("translate",e),this.set("scale",n)}capture(t,e,n){return!!this.contains(t,e)&&this}contains(t,e){let n=this.selected.filter(t=>!!t.parent);const r=this.fromParent(t,e),i=this.get("scale")||{x:1,y:1};let s;if(this._state_dragging){if(this._counter_end){let n=i;if(this.anchorTarget.scalable?s=this.anchorTarget.fromScene(r.x,r.y):(s=this.anchorTarget.fromScene(t,e),n={x:1,y:1}),this.anchorHandler.contains(s.x,s.y,this.anchorTarget,n))return!0}return!0}this.modelers.forEach(t=>t.reset()),n=this.selected.filter(t=>!!t.parent);for(let o=0;o<n.length;o++){const a=n[o];let c=i;a.scalable?s=a.fromScene(r.x,r.y):(s=a.fromScene(t,e),c={x:1,y:1});for(let t=0;t<this.modelers.length;t++){const e=this.modelers[t];if(e.contains(s.x,s.y,a,c))return this.currentModeler=e,!0}}if(this.anchorTarget){let n=i;if(this.anchorTarget.scalable?s=this.anchorTarget.fromScene(r.x,r.y):(s=this.anchorTarget.fromScene(t,e),n={x:1,y:1}),this.anchorHandler.contains(s.x,s.y,this.anchorTarget,n))return this.currentModeler=this.anchorHandler,!0}else this.anchorHandler.reset();return this.currentModeler=null,!1}_componentDrawer(t,e,n,r){const i=[];let s=e.parent;if(e.isRootModel())return t.save(),r(t,e,n),void t.restore();for((t=this.getContext(e))==this.auxContext2D&&(n={x:1,y:1});s&&!s.isRootModel();)i.push(s),s=s.parent;t.save(),i.reverse().forEach(function(e){const n=e.rotatePoint;t.translate(n.x,n.y);const r=e.get("scale");r&&t.scale(r.x,r.y),t.rotate(e.get("rotation")),t.translate(-n.x,-n.y);const i=e.bounds;t.translate(i.left,i.top)});const o=e.rotatePoint;t.translate(o.x,o.y);const a=e.get("scale");a&&t.scale(a.x,a.y),t.rotate(e.get("rotation")),t.translate(-o.x,-o.y),r(t,e,n),t.restore()}prerender(t){const{translate:e,scale:n={x:1,y:1},rotation:r}=this.model;t.save(),t.beginPath(),t.clearRect(0,0,t.canvas.width,t.canvas.height),t.rect(0,0,t.canvas.width,t.canvas.height),t.fillStyle="black",t.globalAlpha=.5,t.fill(),t.restore(),e&&t.translate(e.x*xi,e.y*xi),t.scale(n.x*xi,n.y*xi),r&&t.rotate(r),t.clearRect(0,0,this.rootModel.get("width"),this.rootModel.get("height"))}render(t){if(this.rootModel?.is3dMode)return;t.beginPath();const e=this.get("scale")||{x:1,y:1},n=this.selected.filter(t=>!!t.parent);if(this.anchorTarget&&this._componentDrawer(t,this.anchorTarget,e,(t,e,n)=>{this.anchorHandler.draw(t,e,n)}),this.focused&&this._componentDrawer(t,this.focused,e,(t,e,n)=>{this.focusOutline.draw(t,e,n)}),n.length>0&&n[0].parent.isGroup()){let r=n[0].parent;for(;r.parent.isGroup();)r=r.parent;this._componentDrawer(t,r,e,(t,e,n)=>{this.groupOutline.draw(t,e,n)})}n.forEach(n=>{this._componentDrawer(t,n,e,(t,e,n)=>{this.reversedModelers.forEach(r=>r.draw(t,e,n))})})}get anchorTarget(){return this.currentModeler===this.anchorHandler||this.currentModeler===this.pathHandler||this.hovered?.isLine()||(this._anchorTarget=this.hovered),this._anchorTarget}set anchorTarget(t){this._anchorTarget=t}get hovered(){return this._hovered}set hovered(t){this._hovered=t,this.invalidate()}startLinkProcess(t,e,n){this.currentModeler=this.pathHandler,this.processingLink=this.pathHandler.startLinkProcess(t,e,n),this.counterEnd=this.processingLink.fromEnd,this.processingLink.trigger("tag")}set counterEnd(t){this.currentModeler=this.pathHandler,this._counter_end=t}get counterEnd(){return this._counter_end}endLinkProcess(){this.processingLink?.trigger("tagreset"),this.processingLink=null,this._counter_end=null}get eventMap(){return{"model-layer":{"(all)":{change:this.onchange_model,wheel:this.onwheel_scale,drop:this.ondrop},"(descendant)":{mouseenter:this.onmouseenter,mouseleave:this.onmouseleave},"(self)":{dblclick:this.ondblclick_model}},"(root)":{"(self)":{selected:this.onselected,keydown:this.onkeydown,keyup:this.onkeyup}}}}onmouseenter(t,e){this.hovered=e?.origin}onmouseleave(t,e){this.hovered=null}onkeydown(t){if("Alt"==t.key&&(this._control_mode=!0,this.invalidate()),"KeyT"===t.code&&!t.metaKey&&!t.ctrlKey&&!t.altKey){const e=this.rootModel;e&&!e.is3dMode&&this.app?.isEditMode&&(e.set("threed",!0),t.preventDefault())}}onkeyup(t){"Alt"==t.key&&(this._control_mode=!1,this.invalidate())}onselected(t,e){this.invalidate()}onchange_model(t,e,n){const{origin:r,deliverer:i}=n;r===i&&(t.translate&&this.set("translate",t.translate),void 0!==t.rotation&&this.set("rotation",t.rotation),t.scale&&this.set("scale",t.scale)),this.invalidate()}ondblclick_model(t,e){const n=e.origin;n?.root.fit()}ondblclick(t){"function"==typeof this.currentModeler.ondblclick&&this.currentModeler.ondblclick(t),this.invalidate()}onmousedown(t){this.currentModeler.onmousedown(t),this.invalidate()}onmouseup(t){"function"==typeof this.currentModeler.onmouseup&&this.currentModeler.onmouseup(t),this.invalidate()}ondragstart(t){this.currentModeler.ondragstart(t),this._state_dragging=!0}ondragmove(t){this.currentModeler.ondragmove(t),this.invalidate()}ondragend(t){this._state_dragging=!1,this.currentModeler.ondragend(t),this.invalidate()}ondrop(t,e){const{origin:n}=e,r=t.dataTransfer.files;if(r.length<1)return;const i=this.rootModel.toLocal(t.offsetX,t.offsetY),s=this.rootModel;Promise.all(Array.from(r).map(t=>new Promise((e,n)=>{const r=new FileReader;r.addEventListener("loadend",t=>{e(r.result)}),["error","abort"].forEach(t=>r.addEventListener(t,t=>{n(t)})),r.readAsDataURL(t)}))).then(e=>{if(t.altKey)return Dc.around(this.app.commander,()=>{n.ondropfile(r,e)}),void(this.selected=[n]);const o=[],a=e.map((t,e)=>{let n;const a=r[e].type,c=r[e].name;return a.startsWith("image/")?(n=$c({type:a.startsWith("image/gif")?"gif-view":"image-view",top:0,left:0,width:200,height:200,src:t},s.app),o.push(new Promise((e,r)=>{const i=new Image;i.src=t,i.onload=()=>{n.set({width:i.width,height:i.height}),e()},i.onerror=t=>{r(t)}}))):a.startsWith("audio/")?n=$c({type:"audio",top:0,left:0,width:100,height:100,src:t},s.app):a.startsWith("vnd.ms-excel/")||/\.xlsx?$/.test(c)?n=$c({type:"excel",top:0,left:0,width:100,height:100,src:t},s.app):Fr("dropped file",r[e]),n&&(n.center=i,i.x+=50,i.y+=50),n}).filter(Boolean).map(t=>({component:t,to_container:s}));a.length>0&&Promise.all(o).then(()=>{this.app.commander.execute(new Hc({changes:a})),this.selected=a.map(t=>t.component)},t=>{Rr(t)})},t=>{Rr(t)})}onwheel_scale(t,e){if(0==t.deltaY&&0==t.deltaX)return;const n=e.deliverer;let r;if(t.shiftKey)r=-1!=navigator.userAgent.indexOf("Win")?t.deltaY<0?1:-1:t.deltaX<0?1:-1,t.altKey?Dc.around(this.app.commander,()=>{n.selected.forEach(t=>{let e=t.get("letterSpacing")||Ai.LETTER_SPACING;e+=r,t.set("letterSpacing",e)})}):Dc.around(this.app.commander,()=>{n.selected.forEach(t=>{let e=t.get("fontSize")||Ai.FONT_SIZE;e<1&&(e=1),e+=r,t.set("fontSize",e)})});else{r=t.deltaY<0?1:-1;const e=n.get("scale")||{x:1,y:1},i=n.get("translate"),s=t.offsetX,o=t.offsetY,a=n.toLocal(s,o),c=.1*r,l={x:e.x+c,y:e.y+c};if(r<0&&e.x<.2||r>0&&e.x>10)return;n.set("scale",l);const h=n.toLocal(s,o);n.set("translate",{x:i.x+(h.x-a.x)*l.x,y:i.y+(h.y-a.y)*l.y})}}});function xu(){const t=arguments,e=t[t.length-1],n=this.event_pump;n.listeners.forEach(r=>{!function(t,e,n,r,i){for(const s in n){const o=n[s];if(aa(s,r.origin,0,t))for(const t in o){const n=o[t];t==r.name&&(r.listener=e,n.apply(e,i))}}}(n.deliverer,r.listener,r.cloned_handlers,e,t)})}La.register("scroll-layer",class extends fc{get capturable(){return!0}get pointerEvents(){return"none"}render(t){const{scrolling:e}=this.state;if(t.save(),t.beginPath(),t.fillStyle="#777",this.vscroller){const{left:n,top:r,width:i,height:s}=this.vscroller;t.globalAlpha="v"==e?1:.3,t.fillRect(n,r,i,s)}if(this.hscroller){const{left:n,top:r,width:i,height:s}=this.hscroller;t.globalAlpha="h"==e?1:.3,t.fillRect(n,r,i,s)}t.stroke(),t.restore()}resize(){super.resize(),this.calcScrollerBounds()}contains(t,e){const n=this.vscroller,r=this.hscroller;return this.setState("scrolling",n&&t>=n.left&&t<=n.left+n.width&&e>=n.top&&e<=n.top+n.height?"v":r&&t>=r.left&&t<=r.left+r.width&&e>=r.top&&e<=r.top+r.height?"h":null),!!this.getState("scrolling")}get eventMap(){return{"(root)":{"model-layer":{change:this.onchangeModelLayer}}}}onchange(t){"scrolling"in t&&this.invalidate()}ondragstart(t,e){this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragmove(t,e){const n=this.root,{clientWidth:r,clientHeight:i}=this.canvas,{width:s,height:o}=this.rootModel.model,{x:a,y:c}={x:t.offsetX,y:t.offsetY},{x:l,y:h}=this._scale,{scrolling:u}=this.state,d=s/r,p=o/i;u&&n.rootModel.move({x:"h"==u?(-a+this.lastPosition.x)*l*d:0,y:"v"==u?(-c+this.lastPosition.y)*h*p:0},!1),this.lastPosition={x:t.offsetX,y:t.offsetY}}ondragend(){delete this.lastPosition,this.setState({scrolling:null})}calcScrollerBounds(){if(!this.rootModel)return;const{clientWidth:t,clientHeight:e}=this.canvas,{width:n,height:r}=this.rootModel.model,{x:i=1,y:s=1}=this._scale||{},{x:o=0,y:a=0}=this._translate||{},c=n/t,l=r/e;let h={left:-o/i/c,top:e-10,width:t/i/c,height:10};this.hscroller=h.left>1||h.width+h.left<t-1?h:null,h={left:t-10,top:-a/s/l,width:10,height:e/s/l},this.vscroller=h.top>1||h.height+h.top<e-1?h:null,this.invalidate()}onchangeModelLayer(t,e,n){if(t.scale){const{x:e=1,y:n=1}=t?.scale||{};this._scale={x:e,y:n},this.calcScrollerBounds()}if(t.translate){const{x:e=0,y:n=0}=t.translate||{};this._translate={x:e,y:n},this.calcScrollerBounds()}}});class _u{constructor(t){if(void 0===t.on)throw new Error("Deliverer should be a event handlable object.");this.deliverer=t,this.listeners=[]}start(){this.deliverer.on("(all)",xu,{event_pump:this})}stop(){this.deliverer.off("(all)",xu)}on(t,e){const n=Object.assign({},e);Object.keys(n).forEach(e=>{if(0==e.indexOf("?")){const r=n[e],i=e.substr(1),s=t.get(i);delete n[e],s?n[s]=r:Lr("EventPump#on","variable #{selector} is not evaluated on listener")}}),this.listeners.push({listener:t,handlers:e,cloned_handlers:n})}off(t,e){for(let n=0;n<this.listeners.length;n++){const r=this.listeners[n];r.listener!==t||e&&r.handlers!==e||this.listeners.splice(n,1)}}clear(){this.listeners=[]}dispose(){this.stop(),this.clear()}}class wu{constructor(t){this.eventMaps=[],this.root=t,t.eventMap&&this.add(t,t.eventMap)}set root(t){this._root=t}get root(){return this._root}stop(){this.eventMaps.forEach(t=>t.eventPump.stop())}add(t,e){if(this.root)for(const n in e){const r=e[n];if("(self)"===n&&void 0===t.on)throw new Error("(self) selector not available when deliverer is not a event handlable object.");ha(n,this.root,t).forEach(n=>{const i=new _u(n);i.on(t,r),i.start(),this.eventMaps.push({eventPump:i,listener:t,handlerMap:e,deliverer:n})})}}remove(t,e){const n=this.eventMaps.slice(0);for(let r=0;r<n.length;r++){const i=n[r];i.listener!==t||e&&i.handlerMap!==e||(this.eventMaps.splice(r,1),i.eventPump.dispose())}}clear(){this.eventMaps.slice(0).forEach(t=>t.eventPump.dispose()),this.eventMaps=[]}dispose(){this.stop(),this.clear()}}const Au=0,Su=1,Mu=2,Eu=0,ku=1,Cu=2;let Tu={},Pu=0;class Ou{constructor(t,e){this._type=e||t.type,this._ctrlKey=t.ctrlKey,this._altKey=t.altKey,this._shiftKey=t.shiftKey,this._metaKey=t.metaKey;const n=function(t){if(t.touches){const e=t.touches[0];if(!e)return Tu;const n=e.target.getBoundingClientRect();return Tu={x:t.offsetX||e.clientX-n.left,y:t.offsetY||e.clientY-n.top},Tu}return{x:t.offsetX,y:t.offsetY}}(t);if(this._offsetX=n.x,this._offsetY=n.y,t.touches&&t.touches[0]?(this._clientX=t.touches[0].clientX,this._clientY=t.touches[0].clientY):(this._clientX=t.clientX,this._clientY=t.clientY),"wheel"==t.type)this.deltaX=t.deltaX,this.deltaY=t.deltaY,this.deltaZ=t.deltaZ;else if("drop"==t.type)this.dataTransfer=t.dataTransfer;else if(t.type.match(/^touch/)&&(this._scale=t.scale,this._touches=t.touches,this._changedTouches=t.changedTouches,null==this._scale)){const e=function(t){let e,n,r=0,i=0,s=0;if(1===t.touches.length)return s;Array.from(t.touches).forEach(t=>{e=null!=e?Math.min(t.screenX,e):t.screenX,r=Math.max(t.screenX,r),n=null!=n?Math.min(t.screenY,n):t.screenY,i=Math.max(t.screenY,i)});const o=r-e||0,a=i-n||0;return s=Math.sqrt(Math.pow(o,2)+Math.pow(a,2))||0,s}(t);Pu>0&&(this._scale=e/Pu),Pu=e}}get type(){return this._type}set type(t){this._type=t}get offsetX(){return this._offsetX}get offsetY(){return this._offsetY}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get shiftKey(){return this._shiftKey}get metaKey(){return this._metaKey}get clientX(){return this._clientX}get clientY(){return this._clientY}get touches(){return this._touches}get changedTouches(){return this._changedTouches}get scale(){return this._scale}stopPropagation(){this._stop_=!0,this.originalEvent?.stopPropagation()}isPropagationStopped(){return this._stop_}preventDefault(){this._prevented=!0}isDefaultPrevented(){return this._prevented}}function Du(t,e,n){if(!t||!t.app)return;if(t.app.isViewMode&&t.hidden)return;n instanceof Ou&&e===n.type||(n=new Ou(n,e));const r="on"+e;t[r]&&t[r](n),n.isPropagationStopped()||t.trigger(e,n)}class ju{constructor(t,e){this.gestureHandlerBuilder=t=>{const e=this[`on${t}`];return t=>{const n=new Ou(t),r=this.getChildScrollOffset();return n._offsetX+=this.html_element.scrollLeft+r.scrollLeft,n._offsetY+=this.html_element.scrollTop+r.scrollTop,e(n),n.isDefaultPrevented()&&t.preventDefault(),!1}},this.keyeventHandlerBuilder=t=>this[`on${t}`],this.ondragover=t=>(Du(this.findTarget(t),t.type,t),!1),this.ondrop=t=>(Du(this.findTarget(t),t.type,t),!1),this.ondblclick=t=>(Du(this.findTarget(t),t.type,t),this.last_target=null,!1),this.onkeydown=t=>(this.container.trigger(t.type,t),!1),this.onkeyup=t=>(this.container.trigger(t.type,t),!1),this.onmousemove=t=>{switch(this.status){case Su:const e=t.offsetX-this.__dragstart_e.offsetX,n=t.offsetY-this.__dragstart_e.offsetY;if(e*e+n*n<16)break;this.status=Mu,Du(this.last_target,"dragstart",this.__dragstart_e),this.__dragmove_e=t,Du(this.last_target,"dragmove",t);break;case Mu:this.__dragmove_e=t,Du(this.last_target,"dragmove",t);break;default:{const e=this.findTarget(t);this.last_enter_target!==e&&(this.last_enter_target&&Du(this.last_enter_target,"mouseleave",t),e&&Du(e,"mouseenter",t),this.last_enter_target=e),Du(e,t.type,t),this.last_target=e}}return!1},this.onmousedown=t=>{if(this.status===Mu)Du(this.last_target,"dragend",t),this.last_target=null,this.status=Au;else{const e=this.findTarget(t);this.last_target=e,this.status=Su,this.__dragstart_e=t,Du(e,t.type,t)}return!1},this.onmouseup=t=>{if(this.status===Mu)Du(this.last_target,"dragend",t);else{const e=this.findTarget(t);Du(e,t.type,t),this.last_target===e&&Du(e,"click",t)}return this.last_target=null,this.status=Au,!1},this.onmouseout=t=>{const e=this.findTarget(t);if(this.status===Mu)Du(this.last_target,"dragend",t);else{if(this.last_target&&this.last_target===e)return;this.last_enter_target&&(Du(this.last_enter_target,"mouseleave",t),delete this.last_enter_target)}return this.last_target=null,this.status=Au,!1},this.ontouchstart=t=>{const e=this.findTarget(t);return this.last_target=e,this.status=ku,this.touchPoints||(this.touchPoints=[]),this.touchPoints.push(t.changedTouches[0]),this.holdTimer=setTimeout(()=>{this.status=Eu,Du(this.last_target,"hold",t),delete this.holdTimer},500),Du(e,t.type,t),!1},this.ontouchmove=t=>{if(!t.touches||!t.changedTouches)return Du(this.last_target,"dragstart",t),Du(this.last_target,"dragmove",t),!1;let e=this.findTarget(t);switch(this.status){case ku:Array.from(t.changedTouches).forEach(t=>{const e=this.touchPoints.find(e=>e.identifier===t.identifier);if(!e)return;const n=e.clientX-t.clientX,r=e.clientY-t.clientY;return Math.sqrt(Math.pow(n,2)+Math.pow(r,2))>=16?(this.status=Cu,void(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer))):void 0});break;case Cu:if(this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer),2===t.changedTouches.length&&null!=t.scale&&1!==t.scale&&(t.scale<.9||t.scale>1.1))return Du(this.last_target,"pinch",t),!1;Du(this.last_target,"pan",t),e=this.last_target;break;default:this.last_enter_target!==e&&(this.last_enter_target&&Du(this.last_enter_target,"mouseleave",t),e&&Du(e,"mouseenter",t),this.last_enter_target=e),this.last_target=e}return Du(e,"touchmove",t),!1},this.ontouchend=t=>{let e=this.findTarget(t);switch(this.status){case Cu:e=this.last_target;break;case ku:{const n=performance.now(),r=n-this.touchedAt;this.holdTimer&&(clearTimeout(this.holdTimer),delete this.holdTimer,Du(e,r<500?"doubletap":"tap",t),this.touchedAt=n);break}}Du(e,"touchend",t);const n=this.touchPoints.findIndex(e=>e.identifier===t.changedTouches[0].identifier);return this.touchPoints.splice(n,1),this.last_target=null,this.status=Eu,!1},this.onwheel=t=>(Du(this.findTarget(t),t.type,t),!1),this.container=t,this.html_element=e,this.status=Au,this.last_target=null,this.gesture_handlers=_i.map(t=>this.gestureHandlerBuilder(t)),this.keyevent_handlers=wi.map(t=>this.keyeventHandlerBuilder(t)),_i.forEach((t,n)=>e.addEventListener(t,this.gesture_handlers[n]),{passive:!1}),wi.forEach((t,n)=>e.addEventListener(t,this.keyevent_handlers[n])),e.ondragover=this.gestureHandlerBuilder("dragover"),e.ondrop=this.gestureHandlerBuilder("drop"),e.tabIndex=1}dispose(){this.last_enter_target&&Du(this.last_enter_target,"mouseleave",new CustomEvent("mouseleave")),_i.forEach((t,e)=>this.html_element.removeEventListener(t,this.gesture_handlers[e])),wi.forEach((t,e)=>this.html_element.removeEventListener(t,this.keyevent_handlers[e])),delete this.gesture_handlers,delete this.keyevent_handlers,delete this.last_target}getChildScrollOffset(){for(const t of this.html_element.children)if(t.scrollTop>0||t.scrollLeft>0)return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop};return{scrollLeft:0,scrollTop:0}}findTarget(t){const e=this.container.rootModel;if(e?.is3dMode)return e;const n=this.html_element.getBoundingClientRect(),r=this.getChildScrollOffset(),i=t.clientX-n.left+this.html_element.scrollLeft+r.scrollLeft,s=t.clientY-n.top+this.html_element.scrollTop+r.scrollTop;return this.container.capture(i,s)}}function Iu(t,e,n,r=0){if(e.length<2)return e;let i=2;for(;i<e.length;i++){const s=e.substring(0,i);if(!(t.measureText(s).width+(s.length-1)*r<n))break}return e.substring(0,i-1)}function zu(t,e,n,r,i=0){const s=String(e).split("\n");return r?[].concat.apply([],s.map(e=>function(t,e,n,r=0){const i=e.split(" "),s=[];let o,a,c=[];for(o=0,a=1;a<=i.length;a++)if(c=i.slice(o,a),t.measureText(c.join(" ")).width+(c.join("").length-1)*r>n){if(a-o==1){const e=Iu(t,c[0],n,r);s.push([e]),i.splice(o,1,e,c[0].substring(e.length))}else{for(;""==i[a-1];)a++;s.push(i.slice(o,--a))}o=a}return a-o>1&&s.push(c),0==s.length&&s.push([""]),s}(t,e,n,i))):s.map(t=>t.split(" "))}const Ru={},Lu={},Fu=()=>{};var Nu={register:function(t,e,n){Ru[t]=e,n&&(Lu[t]=n)},unregister:function(t){delete Ru[t],delete Lu[t]},get:function(t){return Ru[t]},getDisposer:function(t){return Lu[t]||Fu}};function Bu(t){if(!t.hasTextProperty||t.textHidden)return;let{text:e="",bold:n=Ai.BOLD,italic:r=Ai.ITALIC,textWrap:i=Ai.TEXT_WRAP,letterSpacing:s=0,fontFamily:o=Ai.FONT_FAMILY,fontColor:a=Ai.FONT_COLOR,textAlign:c=Ai.TEXT_ALIGN,textBaseline:l=Ai.TEXT_BASELINE,fontSize:h=Ai.FONT_SIZE,lineHeight:u=1.2*h}=t.model;const{left:d,top:p,width:f,height:g}=t.textBounds;h||=Ai.FONT_SIZE,u||=1.2*h,t.textHidden=!0;const m=document.createElement("textarea"),y=new AbortController;_i.forEach(function(t){m.addEventListener(t,t=>t.stopPropagation(),{capture:!0,signal:y.signal})});const b=t.toGlobal(d,p),{rotation:v,scale:x}=function(t){let e=0,n=1,r=t;for(;r;){e+=r.get("rotation")||0;const{x:t,y:i}=r.get("scale")||{x:1,y:1};n*=Math.max(t,i)||1,r=r.parent}return{rotation:e,scale:n}}(t);m.value=e;const _={position:"absolute",width:f+"px",height:g+"px",padding:"0",fontFamily:o,fontSize:h+"px",lineHeight:u+"px",overflow:"hidden",resize:"none",outline:"none",border:"0",backgroundColor:"transparent",display:"inline-block",color:a};switch(n&&(_.fontWeight="bold"),r&&(_.fontStyle="italic"),c){case"right":case"end":_.textAlign="right";break;case"justify":_.textAlign="justify";break;case"left":case"start":_.textAlign="left";break;default:_.textAlign="center"}const w=[n,r,h+"px",o].filter(Boolean).join(" ");function A(e){const n={left:0,top:0},r=u*function(t,e,n,r,i=0){const s=t.getContext();let o;return s.save(),s.font=n,o=zu(s,e,r,t.get("textWrap"),i).length,s.restore(),o}(t,e,w,f,s);switch(_.height=r+"px",l){case"top":case"hanging":break;case"bottom":case"alphabetic":n.top=g-r;break;default:n.top=g/2-r/2}if(!i){const r=function(t,e,n,r){const i=e.split("\n");let s=r;const o=t.getContext();return o.save(),o.font=n,i.forEach(t=>{const e=o.measureText(t).width;e>s&&(s=e)}),o.restore(),s}(t,e,w,f);switch(_.width=r+"px",c){case"right":case"end":n.left=f-r;break;case"left":case"start":break;default:n.left=(f-r)/2}}_.marginLeft=n.left+"px",_.marginTop=n.top+"px",_.transform=`translate(${b.x}px, ${b.y}px) scale(${x}) rotate(${v}rad)`,_.transformOrigin=`${-n.left}px ${-n.top}px`,Object.assign(m.style,_)}A(e);const S=t.root.target_element;S.appendChild(m),m.select();let M,E=!1;m.addEventListener("keydown",function(t){t.stopPropagation(),"Escape"!=t.code&&(t.shiftKey||"Enter"!=t.code&&"NumpadEnter"!=t.code)?setTimeout(()=>{A(m.value)}):(E=M.skipUpdate="Escape"==t.code,"function"==typeof document.createEvent?m.dispatchEvent(M):m.fireEvent(M.eventType,M))},{signal:y.signal}),document.createEvent?(M=document.createEvent("HTMLEvents"),M.initEvent("blur",!0,!1)):(M=document.createEventObject(),M.eventType="blur");const k=t.root.selected,C=function(n){t.root.selected=k,t.textHidden=!1,y.abort(),m.removeEventListener("blur",C,!1),m.parentElement&&m.parentElement.removeChild(m),S.focus(),n.skipUpdate||E||t.app.commander.execute(new Dc({changes:[{component:t,before:{text:e},after:{text:m.value}}]}))};m.addEventListener("blur",C,!1)}Nu.register("text-editor",{"(root)":{"(self)":{keydown:function(t,e){const{deliverer:n}=e,r=n.selected;return!(1!==r.length||!r[0].hasTextProperty)&&(("Enter"==t.code||"NumpadEnter"==t.code)&&(Bu(r[0]),t.preventDefault(),!0))}}},"model-layer":{"(descendant)":{dblclick:function(t,e){Bu(e.origin)}}}});const Gu=Zn(function(t,e,n){if(!t.hasSameParentForAllSelected||n)return void(t.focused=null);const r=[];e[0].parent.isGroup()?t.focused=e[0].parent:(e.forEach(t=>{t.path.forEach(e=>{r.push(t.toScene(e.x,e.y))})}),t.focused=t.capturePath(r,e))},300);let Yu,Uu,Hu;Nu.register("move-handler",{"model-layer":{"(descendant)":{dragstart:function(t,e){const{origin:n,deliverer:r}=e;if(n.stuck)return;let i=r.selected;const s=r.selected.filter(t=>!t.stuck);if(i.length!==s.length&&(i=r.selected=s),0==i.length)return;let o;if(i[0].scalable?(o=i[0].toLocal(t.offsetX,t.offsetY),o=i[0].toParent(o.x,o.y)):o={x:t.offsetX,y:t.offsetY},this.last_pos=o,this.direction=0,r.focused=i[0].parent,t.altKey){const t=[],e=new Map;r.selected=r.selected.filter(t=>!t.isRootModel()).map(n=>{const i=Xc(n,t=>{const n=r.root.getNewRefid();return void 0!==t&&e.set(t,n),n});return t.push({component:i,to_container:n.parent}),i}).map(t=>(t.replaceRefids(e),t)),t.forEach(({component:t,to_container:e})=>{e.addComponent(t)}),this.duplicates=r.selected.map(t=>({component:t}))}else this.changes=Dc.before(i)},dragmove:function(t,e){const{origin:n,deliverer:r}=e;if(n.stuck)return;const i=r.selected;if(0==i.length)return;let s;i[0].scalable?(s=i[0].toLocal(t.offsetX,t.offsetY),s=i[0].toParent(s.x,s.y)):s={x:t.offsetX,y:t.offsetY},t.shiftKey?2==this.direction&&(this.direction=0):this.direction=2;let o=s.x-this.last_pos.x,a=s.y-this.last_pos.y;if(0==this.direction){if(o*o+a*a<25)return;Math.abs(o)>Math.abs(a)?this.direction=3:this.direction=4}3==this.direction?a=0:4==this.direction&&(o=0),i.forEach(t=>{t.move({x:o,y:a},1===i.length)}),this.last_pos=s,Gu(r,i)},dragend:function(t,e){const{origin:n,deliverer:r}=e;if(n.stuck)return;const i=r.selected;if(0==i.length)return;const s=i[0].parent,o=r.focused||e.deliverer;if(this.changes&&!o.isGroup())if(r.hasSameParentForAllSelected&&o&&o!==s){const t=this.changes.map(t=>{const{component:e}=t;return{component:e,to_container:o}});r.app.commander.execute(new Hc({changes:t}))}else Dc.after(this.changes,r.app.commander);else if(this.duplicates){this.duplicates=this.duplicates.map(t=>(t.to_container=o,t));const t=new Hc({changes:this.duplicates});r.app.commander.execute(t)}i.forEach(t=>{t.parent&&t.parent.calculateBounds&&t.parent.calculateBounds()}),this.last_pos=null,this.changes=null,this.duplicates=null,Gu(r,i,!0)}}},"(root)":{"(self)":{keydown:function(t,e){const{origin:n,deliverer:r}=e,i={},s=t.shiftKey?n.rootModel.MPP:1;switch(t.which){case 37:i.x=-s,i.y=0;break;case 38:i.x=0,i.y=-s;break;case 39:i.x=s,i.y=0;break;case 40:i.x=0,i.y=s;break;default:return}const o=r.selected;Dc.around(r.app.commander,function(){o.forEach(t=>{!t.stuck&&t.move(i,!1)})})}}}});const Wu=Qn(()=>{const{x:t,y:e}=Hu,n=Uu.deref();n&&(n.rootModel.move({x:t-Yu.x,y:e-Yu.y},!1),Yu={x:t,y:e})},60,{leading:!0,trailing:!0});Nu.register("shift-handler",{"model-layer":{"(all)":{dragstart:function(t,e){Yu={x:t.offsetX,y:t.offsetY}},dragmove:function(t,e){Uu=new WeakRef(e.deliverer),Hu={x:t.offsetX,y:t.offsetY},Wu()}}}}),Nu.register("zoom-handler",{"model-layer":{"(all)":{wheel:function(t,e){if(0==t.deltaY&&0==t.deltaX)return;const n=e.deliverer,r=t.deltaY<0?1:-1,i=n.get("scale")||{x:1,y:1},s=n.get("translate"),o=t.offsetX,a=t.offsetY,c=n.toLocal(o,a),l=.1*r,h={x:i.x+l,y:i.y+l};if(r<0&&i.x<.2||r>0&&i.x>10)return;n.set("scale",h);const u=n.toLocal(o,a);n.set("translate",{x:s.x+(u.x-c.x)*h.x,y:s.y+(u.y-c.y)*h.y})}},"(self)":{dblclick:function(t,e){const n=e.origin;n?.root.fit()}}}});let Vu={},$u={};function Xu(t){const e={};for(const n in t)t.hasOwnProperty(n)&&void 0!==t[n]&&(e[n]=t[n]);return e}Nu.register("paste-handler",{"(root)":{"(self)":{stylepastestart:function(t){const{deliverer:e}=t,n=e.app,r=e.selected;if(r&&r[0]&&r!==e.rootModel){const t=r[0],{fillStyle:e,strokeStyle:i,alpha:s,lineWidth:o,lineDash:a,lineCap:c,lineJoin:l,fontColor:h,fontSize:u,fontFamily:d,bold:p,italic:f,textAlign:g,textBaseline:m,textOverflow:y,paddingTop:b,paddingBottom:v,paddingLeft:x,paddingRight:_}=t.state;Vu=Nn({fillStyle:e,strokeStyle:i,alpha:s,lineWidth:o,lineDash:a,lineCap:c,lineJoin:l,fontColor:h,fontSize:u,fontFamily:d,bold:p,italic:f,textAlign:g,textBaseline:m,textOverflow:y,paddingTop:b,paddingBottom:v,paddingLeft:x,paddingRight:_}),n.mode=4}},stylepastestop:function(t){const{deliverer:e}=t,n=e.app;Vu={},4==n.mode&&(n.mode=1)},databindpastestart:function(t){const{deliverer:e}=t,n=e.app,r=e.selected;if(r&&r[0]&&r!==e.rootModel){const t=r[0],{mappings:e}=t.state;$u=Nn({mappings:e}),n.mode=5}},databindpastestop:function(t){const{deliverer:e}=t,n=e.app;$u={},5==n.mode&&(n.mode=1)},keydown:function(t,e){const{deliverer:n}=e;"Esc"!=t.code&&"Escape"!=t.code||(4==n.app.mode?n.trigger("stylepastestop"):5==n.app.mode&&n.trigger("databindpastestop"))}}},"model-layer":{"(all)":{click:function(t,e){const{deliverer:n}=e,r=n.app;if(4!=r.mode&&5!=r.mode)return;const i=e.origin;4==r.mode?i===n?n.root.trigger("stylepastestop"):i&&Dc.around(r.commander,()=>{const t=Xu({...i.model,...Vu});i?.set(t)}):i===n?n.root.trigger("databindpastestop"):i&&Dc.around(r.commander,()=>{const t=Xu({...i.model,...$u});i?.set(t)})}}}});class qu{constructor(){this.animatorMap=new Map}waypoint(t,e){this.animatorMap.has(t)&&this.off(t);let{from:n,to:r}=e;if("string"==typeof n&&(n=t.root?.findById(n)),"string"==typeof r&&(r=t.root.findById(r)),!r)return void Lr("WaypointAnimation: Source or target component not found");const i=No(t,{type:"waypoint",fromComponent:n,toComponent:r,...e,onComplete:()=>{this.off(t)}});i&&(this.animatorMap.set(t,i),i.start())}off(t){const e=this.animatorMap.get(t);e&&(e.stop(),this.animatorMap.delete(t))}reset(t){if(this.animatorMap.size>0){for(const t of this.animatorMap.values())t.stop();this.animatorMap.clear()}}dispose(){this.reset(null),this.animatorMap=null}}function Ku(t){const{origin:e}=t,n=e.root,{waypointHandler:r}=n;r?.reset()}Nu.register("waypoint-handler",{"model-layer":{"(descendant)":{waypoint:function(t,e){const{origin:n}=e,r=n.root;let{waypointHandler:i}=r;i||(i=new qu,r.waypointHandler=i),i.waypoint(n,t)},waypointoff:function(t){const{origin:e}=t,n=e.root,{waypointHandler:r}=n;r?r.off(e):Lr("waypoint-handler not found")},waypointreset:Ku},"(self)":{waypointreset:Ku}}},function(t){const{waypointHandler:e}=t;e&&(e.dispose(),delete t.waypointHandler)});const Zu=[],Qu=Zn(function(){Zu.forEach(t=>{t.resize()})},100);"undefined"!=typeof window&&window.addEventListener("resize",Qu);class Ju extends pc{constructor(t,e){super(Object.assign({type:"root",scale:{x:1,y:1}},t||{}),e),this._hasSameParentForAllSelected=!1,this._maxRefid=e?.isViewMode?1e6:0,t=t||{},this.fitMode=t.model&&t.model.fitMode,this._app=e,this.style=t.style,this.indexMap=new Map,this.refidIndexMap=new Map,this.templateMap={},this.target_element=t.target_element,this.rebuildContentModel(this.model.model),Zu.push(this)}dispose(){lc.hideAll(this),this._app&&this._app.dispose(),super.dispose(),this._disposeAllResources(),this.target_element=null,this._refresh_mapping_debouncer&&"function"==typeof this._refresh_mapping_debouncer.cancel&&this._refresh_mapping_debouncer.cancel(),delete this._refresh_mapping_debouncer;const t=Zu.indexOf(this);t>=0&&Zu.splice(t,1),this.refidIndexMap.clear(),this.indexMap.clear(),this._maxRefid=0}isRoot(){return!0}get app(){return this._app}get target_element(){return this._target_element}set target_element(t){this._ua_event_handler&&(this._ua_event_handler.dispose(),delete this._ua_event_handler),t&&(t.style.position="absolute",t.style.cursor="default",t.style.overflow="hidden",t.setAttribute("scene","root-container"),this._ua_event_handler=new ju(this,t)),this.forEach(e=>e.target=t),this._target_element=t}get fitMode(){return this._fitMode}set fitMode(t){this._fitMode=t}get hasSameParentForAllSelected(){return this._hasSameParentForAllSelected}set hasSameParentForAllSelected(t){this._hasSameParentForAllSelected=t}get unitScale(){switch(this.model_layer&&this.model_layer.get("unit")){case"mm":case"cm":case"in":return this.app.PPM/10;default:return 1}}addTemplate(t,e){const n=this.templateMap[t];n&&Rr("Template replaced (duplicated)",t,e,n),this.templateMap[t]=e,delete this.templatePrefixes}removeTemplate(t,e){const n=this.templateMap[t];n!==e?Lr("Removing template failed (different)",t,e,n):delete this.templateMap[t],delete this.templatePrefixes}findTemplateFor(t){this.templatePrefixes||(this.templatePrefixes=Object.keys(this.templateMap).sort().reverse());const e=this.templatePrefixes.find(e=>t.startsWith(e));if(e)return this.templateMap[e]}addIndex(t,e){if(!t)return;const n=t.toString().replace(/^#/,""),r=this.indexMap.get(n)||[];r.push(e),this.indexMap.set(n,r)}removeIndex(t,e){if(!t)return;const n=t.toString().replace(/^#/,""),r=this.indexMap.get(n)||[],i=r.indexOf(e);-1===i?Lr("Removing index failed (not found)",t,e):(r.splice(i,1),0===r.length?this.indexMap.delete(n):this.indexMap.set(n,r))}addRefidIndex(t,e){null==t&&(t=this.getNewRefid(),e.set("refid",t)),this._maxRefid=Math.max(t,this._maxRefid);const n=this.refidIndexMap.get(t);n&&Rr("Refid Index replaced (has not to be)",t,e,n),this.refidIndexMap.set(t,e)}removeRefidIndex(t,e){if(null==t)return;const n=this.refidIndexMap.get(t);n!==e?Rr("Refid Removing index failed (has not to be)",t,e,n):this.refidIndexMap.delete(t)}getNewRefid(){return this._maxRefid=(this._maxRefid||0)+1,this._maxRefid}async subscribe(t,e){this._app.isViewMode&&t&&this._app&&(e._subscription=await this._app.subscribe(t,e))}async unsubscribe(t,e){e._subscription&&(await e._subscription.unsubscribe(),delete e._subscription)}findById(t){if(!t)return null;const e=t.toString().replace(/^#/,"");return(this.indexMap.get(e)||[])[0]}findAllById(t){if(!t)return[];const e=t.toString().replace(/^#/,"");return this.indexMap.get(e)||[]}findByRefid(t){return this.refidIndexMap.get(t)}findOrCreate(t){const e=this.findAllById(t);if(!e||0===e.length){if(this.app&&!this.app.isEditMode){const e=this.findTemplateFor(t);if(e){const n=$c(Object.assign(Nn(e.hierarchy),{id:t,templatePrefix:""}),this.app);return this.model_layer.addComponent(n),[n]}}return[]}return e}resize(){this.components.forEach(t=>{t.resize&&t.resize()}),this.invalidate()}fit(t){const{width:e,height:n,fitMode:r}=this.model_layer.model,i=this.target_element,s=this.model_layer;if(this.fitMode=t||this.fitMode||r||"ratio",e&&n&&i&&i.clientWidth&&i.clientHeight){switch(this.fitMode){case"center":!function(t,e,n){const r=t.unitScale,{width:i,height:s}=e.model;e.set("scale",{x:r,y:r}),e.set("translate",{x:Math.max((n.clientWidth-i*r)/2,0),y:Math.max((n.clientHeight-s*r)/2,0)})}(this,s,i);break;case"both":!function(t,e,n){const{width:r,height:i}=e.model,s=n.clientWidth,o=n.clientHeight;e.set("scale",{x:s/r,y:o/i}),e.set("translate",{x:0,y:0})}(0,s,i);break;case"width":!function(t,e,n){const r=n.clientWidth/e.get("width");e.set("scale",{x:r,y:r}),e.set("translate",{x:0,y:0})}(0,s,i);break;case"height":!function(t,e,n){const r=n.clientHeight/e.get("height");e.set("scale",{x:r,y:r}),e.set("translate",{x:0,y:0})}(0,s,i);break;case"ratio":!function(t,e,n){const{width:r,height:i}=e.model,s=n.clientWidth,o=n.clientHeight,a=s/r,c=o/i,l=Math.min(a,c);e.set("scale",{x:l,y:l}),e.set("translate",{x:(s-r*l)/2,y:(o-i*l)/2})}(0,s,i);break;default:!function(t,e){const n=t.unitScale;e.set("scale",{x:n,y:n}),e.set("translate",{x:0,y:0})}(this,s)}this.resize()}}_disposeAllResources(){this.selected=[],this._focused=null,this._ready=!1,this.eventEngine&&(this.assist_handlers&&this.assist_handlers.forEach(t=>{this.eventEngine.remove(t)}),this.eventEngine.dispose(),delete this.eventEngine),(this.model.handlers||[]).map(t=>{Nu.getDisposer(t).call(null,this)}),this.assist_layers&&this.assist_layers.forEach(t=>{t.dispose(),this.removeComponent(t)}),delete this.assist_layers,this.model_layer&&this.model_layer.dispose(),this.model_layer&&this.removeComponent(this.model_layer),delete this.model_layer,this.indexMap=new Map,this.refidIndexMap=new Map,this.templateMap={}}rebuildContentModel(t,e){let n;e?.preserveThreeD&&this.model_layer?.is3dMode&&(n=this.model_layer.detachThreeCapability()),this._disposeAllResources(),this.eventEngine=new wu(this),(t=t||{}).type="model-layer",this.model_layer=$c(t,this.app),this.addComponent(this.model_layer),this.model_layer.target=this.target_element,this.assist_layers=(this.model.layers||[]).map(t=>{const e=$c(t,this.app);if(e)return this.addComponent(e),e.target=this.target_element,e;Rr("Layer compile failed",t)}).filter(Boolean),this.assist_handlers=(this.model.handlers||[]).map(t=>{const e={};return this.eventEngine.add(e,Nu.get(t)),e}),n&&(this.model_layer?.model?.threed?this.model_layer.adoptThreeCapability(n):n.dispose()),this._ready=!0,this.traverse(t=>t.ready())}get root(){return this}get anchors(){return[]}get isReady(){return this._ready}get rootModel(){return this.model_layer}get threed(){return this.model_layer?.model?.threed||!1}set threed(t){this.model_layer&&this.model_layer.set("threed",t)}get stuck(){return!0}get data(){const t={};for(const[e,n]of this.indexMap.entries())n.length>0&&(t[e]=n[0].data);return t}set data(t){for(const e in t){const n=this.findOrCreate(e);n&&0!==n.length&&n.forEach(n=>n.data=t[e])}}get dataByRefid(){const t={};for(const[e,n]of this.refidIndexMap.entries())t[e]=n.data;return t}set dataByRefid(t){for(const e in t){const n=this.findByRefid(Number(e));n&&(n.data=t[e])}}get values(){const t={};for(const[e,n]of this.indexMap.entries())n.length>0&&(t[e]=n[0].value);return t}set values(t){for(const e in t){const n=this.findOrCreate(e);n&&0!==n.length&&n.forEach(n=>n.value=t[e])}}get valuesByRefid(){const t={};for(const[e,n]of this.refidIndexMap.entries())t[e]=n.value;return t}set valuesByRefid(t){for(const e in t){const n=this.findByRefid(Number(e));n&&(n.value=t[e])}}get selected(){return(this._selected||[]).filter(t=>t.parent)}set selected(t){const e=this._selected;if(this._selected=t,!t||t.length<=1)this.hasSameParentForAllSelected=!0;else{const e=t[0].parent;this.hasSameParentForAllSelected=!t.find(t=>t.parent!=e)}this.trigger("selected",t,e)}get focused(){return this._focused}set focused(t){this._focused!==t&&(this._focused=t,this.invalidate())}get style(){return this._style}set style(t){this._style=t,this._compiled_style=t}get hasTextProperty(){return!1}render(){this.components.forEach(t=>t.draw())}contains(t,e){return!0}capturePath(t,e){return this.model_layer.capturePath(t,e)}invalidate(){this.components.forEach(t=>t.invalidate())}_areAliasesEqual(t,e){if(!Array.isArray(t)&&!Array.isArray(e))return!0;if(!Array.isArray(t)||!Array.isArray(e))return!1;if(t.length!==e.length)return!1;const n=[...t].sort(),r=[...e].sort();return n.every((t,e)=>t===r[e])}get eventMap(){return{"(root)":{"(descendant)":{added:this.onadded,removed:this.onremoved,change:this.onchanged}}}}refreshMappings(){if(!this._refresh_mapping_debouncer){if(this.disposed)return;this._refresh_mapping_debouncer=Zn(function t(e){e.executeMappings(),e.components&&e.components.forEach(e=>t(e))},1e3)}this._refresh_mapping_debouncer(this.model_layer)}_addTraverse(t){t.components&&t.components.forEach(t=>this._addTraverse(t));const{id:e,alias:n,refid:r,tag:i,templatePrefix:s}=t.model;this.addRefidIndex(r,t),e&&this.addIndex(e,t),Array.isArray(n)&&n.forEach(e=>{e&&this.addIndex(e,t)}),i&&this.subscribe(i,t),s&&this.addTemplate(s,t);const o=sr({},t.eventMap,t.model.eventMap);this.eventEngine.add(t,o)}_removeTraverse(t){t.components&&t.components.forEach(t=>this._removeTraverse(t));const{id:e,alias:n,refid:r,tag:i,templatePrefix:s}=t.model;this.removeRefidIndex(r,t),e&&this.removeIndex(e,t),Array.isArray(n)&&n.forEach(e=>{e&&this.removeIndex(e,t)}),i&&this.unsubscribe(i,t),s&&this.removeTemplate(s,t),this.eventEngine.remove(t)}onadded(t,e){this._addTraverse(e),this.refreshMappings(),this.invalidate()}onremoved(t,e){this._removeTraverse(e),this.invalidate()}onchanged(t,e,n){e.templatePrefix&&this.removeTemplate(e.templatePrefix,n.origin),t.templatePrefix&&this.addTemplate(t.templatePrefix,n.origin),e.id&&this.removeIndex(e.id,n.origin),t.id&&this.addIndex(t.id,n.origin),Array.isArray(e.alias)&&e.alias.forEach(t=>{t&&this.removeIndex(t,n.origin)}),Array.isArray(t.alias)&&t.alias.forEach(t=>{t&&this.addIndex(t,n.origin)}),e.tag&&this.unsubscribe(e.tag,n.origin),t.tag&&this.subscribe(t.tag,n.origin),e.id==t.id&&e.class==t.class&&this._areAliasesEqual(e.alias,t.alias)||this.refreshMappings()}}La.memoize(Ju.prototype,"unitScale",!1);let td=13.3;var ed=function(t){return void 0!==t&&(td=t),td};const nd="$base_url";const rd=Math.PI/12;class id{constructor(t,e){this._mode=t,this.screen=ed(),this._baseUrl="undefined"!=typeof window?window.location.origin:null,this._refProvider=e,this.isEditMode&&(this._rotateStep=rd,this._rotateStepForced=!1)}dispose(){this._dataSubscriptionProvider?.dispose?.(),delete this._dataStorage}_calcScreen(){const t={width:screen.width,height:screen.height};this._PPI=function(t,e,n,r="d"){t<=0&&(t=1),e<=0&&(e=1);const i=("d"===r?Math.sqrt(t*t+e*e):"w"===r?t:e)/n;return i>0?Math.round(i):0}(t.width,t.height,this.screen),this._PPM=this._PPI/25.4}subscribe(t,e){return this._dataSubscriptionProvider?.subscribe?.(t,e)}get refProvider(){return this._refProvider}set dataSubscriptionProvider(t){this._dataSubscriptionProvider=t}get dataSubscriptionProvider(){return this._dataSubscriptionProvider}set commander(t){this._commander=t}get commander(){return this._commander}get screen(){return this._screen}set screen(t){this._screen=t,this._calcScreen()}get DPPX(){return xi}get PPI(){return this._PPI}get PPM(){return this._PPM}get mode(){return this._mode}set mode(t){const e=this._mode;e!==t&&(this._mode=t,this.trigger("mode",t,e))}get isViewMode(){return 0===this._mode}get isEditMode(){return 1===this._mode}get baseUrl(){return this._baseUrl}set baseUrl(t){t&&this._baseUrl!==t&&(this._baseUrl=t)}url(t){try{let e;return e=t.includes(nd)?new URL(t.replace(nd,this.baseUrl??""),this.baseUrl??void 0):new URL(t,location.origin),e.href}catch(e){Lr(e,t)}}get rotateStep(){return this._rotateStep}set rotateStep(t){this._rotateStep=Number(t)||rd}get rotateStepForced(){return this._rotateStepForced}set rotateStepForced(t){this._rotateStepForced=!!t}get dataStorage(){return this._dataStorage}set dataStorage(t){this._dataStorage=t}}zr(id.prototype,Mr.withEvent);class sd{constructor(t,e){!(t=Number(t))||t<=0?(Rr("TimeCapsule maxsize should be greater than 0.",t),this.maxsize=10):this.maxsize=t,this.reset(),e&&(this.snapshot(e),this.preserve())}preserve(){this.checkPoint=this.pos}hasUnpreservedChanges(){return this.checkPoint!=this.pos}dispose(){this.reset()}snapshot(t){if(this.q.splice(this.pos+1,this.q.length-(this.pos+1),t),this.q.length>this.maxsize){const t=this.q.splice(0,this.q.length-this.maxsize);this.checkPoint=Math.max(-1,this.checkPoint-t.length)}this.pos=this.q.length-1}forward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.forwardable)return this.q[++this.pos];Lr("Not forwardable.")}backward(){if(this.snapshot_taker&&this.snapshot_taker.take(),this.backwardable)return this.q[--this.pos];Lr("Not backwardable.")}get current(){if(-1!==this.pos)return this.q[this.pos];Lr("Non state has been recorded.")}get length(){return this.q.length}get forwardable(){return this.pos<this.q.length-1}get backwardable(){return this.pos>0}get snapshot_taker(){return this._snapshot_taker}set snapshot_taker(t){this._snapshot_taker=t}reset(){this.q=[],this.pos=-1,this.checkPoint=-1}}const od=Zn(t=>{t.brake||t.take()},1e3,{leading:!0,trailing:!1});function ad(t){!t.brake&&t.dirty&&od(t)}class cd{constructor(t,e){this._brake=!1,this.dirty=!1,this.brake=!1,this.dirty=!1,this.state_holder=t,this.timecapsule=e,this.timecapsule.snapshot_taker=this}dispose(){od.cancel(),this.state_holder=null,this.timecapsule=null}touch(){this.dirty=!0,ad(this)}take(t=!1){(this.dirty||t)&&(this.timecapsule.snapshot(this.state_holder.state),this.dirty=!1)}get brake(){return this._brake}set brake(t){this._brake=!!t,ad(this)}}function ld(t,e){const n=e.model_layer.get("scale"),r=e.model_layer.get("translate"),i=e.model_layer.get("threed");if(t){const s=JSON.parse(t);s.scale=n,s.translate=r,s.threed=i,e.rebuildContentModel(s,{preserveThreeD:!0})}}class hd{constructor(t){this.container=t,this.timecapsule=new sd(20);const e=this;this.snapshot_taker=new cd({get state(){const t=e.container.model_layer.hierarchy;return JSON.stringify(t)}},this.timecapsule),this.snapshot_taker.take(!0),this.timecapsule.preserve()}dispose(){this.reset(),this.timecapsule&&this.timecapsule.dispose(),this.snapshot_taker&&this.snapshot_taker.dispose(),delete this.container,delete this.timecapsule,delete this.snapshot_taker}preserve(){this.timecapsule.preserve()}hasUnpreservedChanges(){return this.timecapsule.hasUnpreservedChanges()}execute(t,e){!1!==e&&t&&t.execute(),this.snapshot_taker.touch(),this.trigger("execute",t,!0,!1)}undo(){this.timecapsule.backwardable&&(ld(this.timecapsule.backward(),this.container),this.trigger("undo",this.undoable(),this.redoable()))}redo(){this.timecapsule.forwardable&&(ld(this.timecapsule.forward(),this.container),this.trigger("redo",this.undoable(),this.redoable()))}undoable(){return this.timecapsule.backwardable}redoable(){return this.timecapsule.forwardable}reset(){this.timecapsule&&this.timecapsule.reset(),this.trigger("command-reset")}}zr(hd.prototype,Mr.withEvent);const ud=new class{constructor(){this._scenes=[],this.onSceneChange=null}register(t){this._cleanup(),this._scenes.push(new WeakRef(t)),this.onSceneChange?.(this._scenes.length)}unregister(t){this._scenes=this._scenes.filter(e=>{const n=e.deref();return n&&n!==t}),this.onSceneChange?.(this._scenes.length)}getScenes(){return this._cleanup(),this._scenes.map((t,e)=>{const n=t.deref();if(!n)return null;const r=n.root,i=r?.model||{};return{index:e,model:{width:i.width||0,height:i.height||0,type:i.type||"unknown"}}}).filter(Boolean)}getComponentTree(t=0){const e=this._getScene(t);if(!e)return[];const n=e.rootContainer;if(!n)return[];const r=n.model_layer;return r?this._childrenOf(r):[]}getChildTree(t,e=0){const n=this._getScene(e);if(!n)return[];const r=n.rootContainer;if(!r)return[];let i;return i="root"===t||"__root__"===t?r.model_layer:this._findComponent(r,t),i?this._childrenOf(i):[]}getComponentInfo(t,e=0){const n=this._getScene(e);if(!n)return null;const r=n.rootContainer;if(!r)return null;let i;if(i="root"===t||"__root__"===t?r.model_layer:this._findComponent(r,t),!i)return null;const s=this._safeBounds(i),o={model:this._safeClone(i.model),state:this._safeClone(i.state),nature:i.nature||{},data:this._safeValue(i.data),value:this._safeValue(i.value),bounds:s,type:i.model?.type||"unknown",isContainer:!!i.isContainer?.(),hidden:!!i.model?.hidden};return"model-layer"===i.model?.type&&(o.is3dMode=!!i.model?.threed),o}selectComponent(t,e=0){const n=this._getScene(e);if(!n)return!1;const r=n.rootContainer;if(!r)return!1;if(!t||"root"===t||"__root__"===t)return r.selected=[],!0;const i=this._findComponent(r,t);return!!i&&(r.selected=[i],!0)}setComponentProperty(t,e,n,r=0){const i=this._getScene(r);if(!i)return!1;const s=i.rootContainer;if(!s)return!1;let o;if(o="root"===t||"__root__"===t?s.model_layer:this._findComponent(s,t),!o)return!1;try{return o.set(e,n),!0}catch{return!1}}setCameraView(t,e=0){const n=this._getScene(e);if(!n)return!1;const r=n.rootContainer;if(!r)return!1;const i=r.model_layer;if(!i||!i._threeCapability)return!1;try{return i._threeCapability.setCameraView(t),!0}catch{return!1}}getCameraState(t=0){const e=this._getScene(t);if(!e)return null;const n=e.rootContainer;if(!n)return null;const r=n.model_layer;if(!r||!r._threeCapability)return null;try{return r._threeCapability.getCameraState()}catch{return null}}toggleHidden(t,e=0){const n=this._getScene(e);if(!n)return!1;const r=n.rootContainer;if(!r)return!1;const i=this._findComponent(r,t);if(!i)return!1;try{return i.set("hidden",!i.model?.hidden),!i.model?.hidden}catch{return!1}}evaluateData(t,e=0){const n=this._getScene(e);if(!n)return;const r=n.rootContainer;if(!r)return;const i="root"===t||"__root__"===t?r.model_layer:this._findComponent(r,t);return i?this._safeValue(i.data):void 0}evaluateValue(t,e=0){const n=this._getScene(e);if(!n)return;const r=n.rootContainer;if(!r)return;const i="root"===t||"__root__"===t?r.model_layer:this._findComponent(r,t);return i?this._safeValue(i.value):void 0}searchComponents(t,e=0){const n=this._getScene(e);if(!n)return[];const r=n.rootContainer;if(!r)return[];const i=r.model_layer;if(!i)return[];const s=[],o=t.toLowerCase();return this._traverseComponent(i,t=>{const e=t.state||t.model||{};[e.type||"",e.name||"",e.id||"",e.tag||"",e.class||"",String(e.refid||"")].join(" ").toLowerCase().includes(o)&&s.push(this._toTreeNode(t))}),s}getComponentPath(t,e=0){const n=this._getScene(e);if(!n)return[];const r=n.rootContainer;if(!r)return[];const i=r.model_layer;if(!i)return[];const s=[];return this._findPath(i,t,s)?s:[]}getThreedInfo(t,e=0){const n=this._getScene(e);if(!n)return null;const r=n.rootContainer;if(!r)return null;let i;if(i="root"===t||"__root__"===t?r.model_layer:this._findComponent(r,t),!i)return null;const s=i.model||{},o=s.type||"unknown",a=s.material3d,c={is3dish:"function"==typeof i.is3dish&&i.is3dish(),type:o};if(a&&(c.material3d=this._safeClone(a)),c.resolved=oh(a),"gltf-object"===o)try{c.nodeNames=i.nodeNames??[],c.animationNames=i.animationNames??[],c.autoPlay=!1!==i.autoPlay,c.nodes=this._safeClone(i.nodes),c.animations=this._safeClone(i.animations),c.fillStyleTargets=i.fillStyleTargets}catch{}return a?.spriteMode&&(c.spriteMode=a.spriteMode),a?.renderMode&&(c.renderMode=a.renderMode),c}_getScene(t){this._cleanup();const e=this._scenes[t];return e?.deref()??null}_cleanup(){this._scenes=this._scenes.filter(t=>void 0!==t.deref())}_findComponent(t,e){const n=Number(e);if(!isNaN(n)){const e=t.findByRefid(n);if(e)return e}const r=t.findById(e);return r||null}_childrenOf(t){const e=t.components;return e?e.map(t=>this._toTreeNode(t)):[]}_toTreeNode(t){const e=t.components,n=!!e&&e.length>0,r=t.state||t.model||{};return{id:String(r.refid??r.id??""),type:r.type||"unknown",model_id:r.id,hasChildren:n,childCount:n?e.length:0,refid:r.refid,tag:r.tag,name:r.name,hidden:!!r.hidden,clazz:r.class}}_componentId(t){const e=t.state||t.model||{};return String(e.refid??e.id??"")}_findPath(t,e,n){const r=this._componentId(t);if(r===e)return!0;const i=t.components;if(!i)return!1;for(const s of i)if(this._findPath(s,e,n))return n.unshift("model-layer"===t.model?.type?"__root__":r),!0;return!1}_traverseComponent(t,e){e(t);const n=t.components;if(n)for(const t of n)this._traverseComponent(t,e)}_safeBounds(t){try{const e=t.bounds;return e?{left:e.left??0,top:e.top??0,width:e.width??0,height:e.height??0}:null}catch{return null}}_safeClone(t){if(!t||"object"!=typeof t)return t??{};try{return JSON.parse(JSON.stringify(t))}catch{const e={};for(const n of Object.keys(t))try{const r=t[n];if("function"==typeof r)continue;e[n]="object"==typeof r?String(r):r}catch{e[n]="[error]"}return e}}_safeValue(t){if(null==t)return t;try{return JSON.parse(JSON.stringify(t))}catch{return String(t)}}};let dd=0;const pd=new FinalizationRegistry(t=>{dd--});class fd{static get residents(){return dd}static get residentsCount(){return dd}constructor(t){this._container=t,this.app=t.app,this._commander=new hd(this._container),this.app.commander=this._commander,dd++,pd.register(this,dd),ud.register(this)}add(t,e,n){return qc.call(this._container,t,e,n)}duplicate(){return Kc.call(this._container)}remove(){return Zc.call(this._container)}animate(t){return Ro.call(this,t)}fullscreen(t){return rl.call(this._container,t)}get target(){return this._container.target_element}set target(t){let e;if("string"==typeof t){if(e=document.getElementById(t),!e)throw new Error(`target element '${t}' does not exist`);if(e.firstChild)throw new Error(`target element '${t}' already has children`)}else e=t;e&&e.style&&(e.style.cursor="default"),this._container.target_element=e,this._container.invalidate()}get scale(){return this.root.get("scale")}set scale(t){this.root.set("scale",t)}get translate(){return this.root.get("translate")}set translate(t){this.root.set("translate",t)}get unit(){return this.root.get("unit")||"px"}get PPM(){return this.app.PPM}get PPI(){return this.app.PPI}get DPPX(){return this.app.DPPX}static get DPPX(){return xi}get unitScale(){return this._container.unitScale}get screen(){return this.app.screen}set screen(t){this.app.screen=t,this._container.resize()}resize(){this._container.resize()}release(){this.dispose()}dispose(){ud.unregister(this),this._commander&&this._commander.dispose(),this._container&&this._container.dispose()}get selected(){return this._container.selected.slice()}set selected(t){this._container.selected=t}select(t,...e){return this._container.selected=this.root?.findAll(t,...e),this.selected}get commander(){return this._commander}undo(){this.commander.undo()}undoable(){return this.commander.undoable()}redo(){this.commander.redo()}redoable(){return this.commander.redoable()}preserve(){this.commander.preserve()}hasUnpreservedChanges(){return this.commander.hasUnpreservedChanges()}cut(){return ol.call(this._container)}copy(){return sl.call(this._container)}paste(t){return al.call(this._container,t)}undoableChange(t){return Ml.call(this._container,t)}change(t,e,n){return Sl.call(this.root,t,e,n)}get model(){return this.root.hierarchy}set model(t){this._container.rebuildContentModel(t)}get rootContainer(){return this._container}get root(){return this._container?.model_layer}findAll(t,...e){return this.root.findAll(t,...e)}findFirst(t,...e){return this.root.findFirst(t,...e)}findById(t){return this._container.findById(t)}findAllById(t){return this._container.findAllById(t)}serialize(){return this.root.trim(),this.root.serialize()}align(t){return Nc.call(this._container,t)}place(t){return jl.call(this._container,t)}distribute(t){return Yc.call(this._container,t)}move(t,e,n){return Wc.call(this._container,t,e,n)}zorder(t){return Vc.call(this._container,t)}symmetryX(){return wl.call(this._container)}symmetryY(){return Al.call(this._container)}on(t,e,n){return tl.call(this._container,t,e,n)}once(t,e,n){return el.call(this._container,t,e,n)}off(t,e,n){return this._container&&nl.call(this._container,t,e,n)}centerTo(t,e){return this.root.centerTo(t,e)}get mode(){return this.app.mode}set mode(t){void 0!==t&&(this.app.mode=t)}toDataURL(t,e,n,r){return yl.call(this._container,t,e,n,r)}group(){return bl.call(this._container)}ungroup(){return vl.call(this._container)}fit(t){this._container.once("redraw",()=>this._container.fit(t)),this._container.invalidate()}get fitMode(){return this._container.fitMode}get ids(){return El.call(this._container)}get data(){return this._container.data}set data(t){this._container.data=t}get dataByRefid(){return this._container.dataByRefid}set dataByRefid(t){this._container.dataByRefid=t}get values(){return this._container.values}set values(t){this._container.values=t}get valuesByRefid(){return this._container.valuesByRefid}set valuesByRefid(t){this._container.valuesByRefid=t}get baseUrl(){return this.app.baseUrl}set baseUrl(t){this.app.baseUrl=t}startAddMode(t){return Il.call(this._container,t)}startStylePasteMode(){return zl.call(this._container)}stopStylePasteMode(){return Rl.call(this._container)}startDatabindPasteMode(){return Ll.call(this._container)}stopDatabindPasteMode(){return Fl.call(this._container)}}const gd=new class{async load(t){}async save(t,e){}async clear(t){}};function md({target:t,model:e,style:n,layers:r=[],handlers:i=[],mode:s=0,refProvider:o,dataSubscriptionProvider:a,dataStorage:c=gd,baseUrl:l,fitMode:h}){let u=null;if("string"==typeof t){if(u=document.getElementById(t),!u)throw new Error(`target element '${t}' does not exist`);if(u.firstChild)throw new Error(`target element '${t}' is not empty`)}else u=t??null;u&&u.style&&(u.style.position="absolute",u.style.cursor="default",u.style.overflow="hidden");const d=new id(s,o);return l&&(d.baseUrl=l),d.dataSubscriptionProvider=a,d.dataStorage=c,new fd(new Ju({target_element:u,model:e,style:n,layers:r,handlers:i,fitMode:h},d))}function yd(t,e,n,r){var i,s=arguments.length,o=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(o=(s<3?i(o):s>3?i(e,n,o):i(e,n))||o);return s>3&&o&&Object.defineProperty(e,n,o),o}function bd(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)}function vd(t,e,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(t,n):i?i.value=n:e.set(t,n),n}"function"==typeof SuppressedError&&SuppressedError;
|
|
4
4
|
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const
|
|
5
|
+
* @license
|
|
6
|
+
* Copyright 2019 Google LLC
|
|
7
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
8
|
+
*/
|
|
9
|
+
const xd=globalThis,_d=xd.ShadowRoot&&(void 0===xd.ShadyCSS||xd.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,wd=Symbol(),Ad=new WeakMap;let Sd=class{constructor(t,e,n){if(this._$cssResult$=!0,n!==wd)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(_d&&void 0===t){const n=void 0!==e&&1===e.length;n&&(t=Ad.get(e)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&Ad.set(e,t))}return t}toString(){return this.cssText}};const Md=_d?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const n of t.cssRules)e+=n.cssText;return(t=>new Sd("string"==typeof t?t:t+"",void 0,wd))(e)})(t):t,{is:Ed,defineProperty:kd,getOwnPropertyDescriptor:Cd,getOwnPropertyNames:Td,getOwnPropertySymbols:Pd,getPrototypeOf:Od}=Object,Dd=globalThis,jd=Dd.trustedTypes,Id=jd?jd.emptyScript:"",zd=Dd.reactiveElementPolyfillSupport,Rd=(t,e)=>t,Ld={toAttribute(t,e){switch(e){case Boolean:t=t?Id:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=null!==t;break;case Number:n=null===t?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch(t){n=null}}return n}},Fd=(t,e)=>!Ed(t,e),Nd={attribute:!0,type:String,converter:Ld,reflect:!1,useDefault:!1,hasChanged:Fd};
|
|
10
10
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
* @license
|
|
12
|
+
* Copyright 2017 Google LLC
|
|
13
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
14
|
+
*/Symbol.metadata??=Symbol("metadata"),Dd.litPropertyMetadata??=new WeakMap;let Bd=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=Nd){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const n=Symbol(),r=this.getPropertyDescriptor(t,n,e);void 0!==r&&kd(this.prototype,t,r)}}static getPropertyDescriptor(t,e,n){const{get:r,set:i}=Cd(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:r,set(e){const s=r?.call(this);i?.call(this,e),this.requestUpdate(t,s,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??Nd}static _$Ei(){if(this.hasOwnProperty(Rd("elementProperties")))return;const t=Od(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(Rd("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Rd("properties"))){const t=this.properties,e=[...Td(t),...Pd(t)];for(const n of e)this.createProperty(n,t[n])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,n]of e)this.elementProperties.set(t,n)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const n=this._$Eu(t,e);void 0!==n&&this._$Eh.set(n,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const n=new Set(t.flat(1/0).reverse());for(const t of n)e.unshift(Md(t))}else void 0!==t&&e.push(Md(t));return e}static _$Eu(t,e){const n=e.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const n of e.keys())this.hasOwnProperty(n)&&(t.set(n,this[n]),delete this[n]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((t,e)=>{if(_d)t.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const n of e){const e=document.createElement("style"),r=xd.litNonce;void 0!==r&&e.setAttribute("nonce",r),e.textContent=n.cssText,t.appendChild(e)}})(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,n){this._$AK(t,n)}_$ET(t,e){const n=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,n);if(void 0!==r&&!0===n.reflect){const i=(void 0!==n.converter?.toAttribute?n.converter:Ld).toAttribute(e,n.type);this._$Em=t,null==i?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(t,e){const n=this.constructor,r=n._$Eh.get(t);if(void 0!==r&&this._$Em!==r){const t=n.getPropertyOptions(r),i="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:Ld;this._$Em=r;const s=i.fromAttribute(e,t.type);this[r]=s??this._$Ej?.get(r)??s,this._$Em=null}}requestUpdate(t,e,n,r=!1,i){if(void 0!==t){const s=this.constructor;if(!1===r&&(i=this[t]),n??=s.getPropertyOptions(t),!((n.hasChanged??Fd)(i,e)||n.useDefault&&n.reflect&&i===this._$Ej?.get(t)&&!this.hasAttribute(s._$Eu(t,n))))return;this.C(t,e,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:n,reflect:r,wrapped:i},s){n&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,s??e??this[t]),!0!==i||void 0!==s)||(this._$AL.has(t)||(this.hasUpdated||n||(e=void 0),this._$AL.set(t,e)),!0===r&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,n]of t){const{wrapped:t}=n,r=this[e];!0!==t||this._$AL.has(e)||void 0===r||this.C(e,void 0,n,r)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};Bd.elementStyles=[],Bd.shadowRootOptions={mode:"open"},Bd[Rd("elementProperties")]=new Map,Bd[Rd("finalized")]=new Map,zd?.({ReactiveElement:Bd}),(Dd.reactiveElementVersions??=[]).push("2.1.2");
|
|
15
15
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const
|
|
16
|
+
* @license
|
|
17
|
+
* Copyright 2017 Google LLC
|
|
18
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
19
|
+
*/
|
|
20
|
+
const Gd=globalThis,Yd=t=>t,Ud=Gd.trustedTypes,Hd=Ud?Ud.createPolicy("lit-html",{createHTML:t=>t}):void 0,Wd="$lit$",Vd=`lit$${Math.random().toFixed(9).slice(2)}$`,$d="?"+Vd,Xd=`<${$d}>`,qd=document,Kd=()=>qd.createComment(""),Zd=t=>null===t||"object"!=typeof t&&"function"!=typeof t,Qd=Array.isArray,Jd="[ \t\n\f\r]",tp=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ep=/-->/g,np=/>/g,rp=RegExp(`>|${Jd}(?:([^\\s"'>=/]+)(${Jd}*=${Jd}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),ip=/'/g,sp=/"/g,op=/^(?:script|style|textarea|title)$/i,ap=(t=>(e,...n)=>({_$litType$:t,strings:e,values:n}))(1),cp=Symbol.for("lit-noChange"),lp=Symbol.for("lit-nothing"),hp=new WeakMap,up=qd.createTreeWalker(qd,129);function dp(t,e){if(!Qd(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==Hd?Hd.createHTML(e):e}const pp=(t,e)=>{const n=t.length-1,r=[];let i,s=2===e?"<svg>":3===e?"<math>":"",o=tp;for(let e=0;e<n;e++){const n=t[e];let a,c,l=-1,h=0;for(;h<n.length&&(o.lastIndex=h,c=o.exec(n),null!==c);)h=o.lastIndex,o===tp?"!--"===c[1]?o=ep:void 0!==c[1]?o=np:void 0!==c[2]?(op.test(c[2])&&(i=RegExp("</"+c[2],"g")),o=rp):void 0!==c[3]&&(o=rp):o===rp?">"===c[0]?(o=i??tp,l=-1):void 0===c[1]?l=-2:(l=o.lastIndex-c[2].length,a=c[1],o=void 0===c[3]?rp:'"'===c[3]?sp:ip):o===sp||o===ip?o=rp:o===ep||o===np?o=tp:(o=rp,i=void 0);const u=o===rp&&t[e+1].startsWith("/>")?" ":"";s+=o===tp?n+Xd:l>=0?(r.push(a),n.slice(0,l)+Wd+n.slice(l)+Vd+u):n+Vd+(-2===l?e:u)}return[dp(t,s+(t[n]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),r]};class fp{constructor({strings:t,_$litType$:e},n){let r;this.parts=[];let i=0,s=0;const o=t.length-1,a=this.parts,[c,l]=pp(t,e);if(this.el=fp.createElement(c,n),up.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=up.nextNode())&&a.length<o;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(Wd)){const e=l[s++],n=r.getAttribute(t).split(Vd),o=/([.?@])?(.*)/.exec(e);a.push({type:1,index:i,name:o[2],strings:n,ctor:"."===o[1]?vp:"?"===o[1]?xp:"@"===o[1]?_p:bp}),r.removeAttribute(t)}else t.startsWith(Vd)&&(a.push({type:6,index:i}),r.removeAttribute(t));if(op.test(r.tagName)){const t=r.textContent.split(Vd),e=t.length-1;if(e>0){r.textContent=Ud?Ud.emptyScript:"";for(let n=0;n<e;n++)r.append(t[n],Kd()),up.nextNode(),a.push({type:2,index:++i});r.append(t[e],Kd())}}}else if(8===r.nodeType)if(r.data===$d)a.push({type:2,index:i});else{let t=-1;for(;-1!==(t=r.data.indexOf(Vd,t+1));)a.push({type:7,index:i}),t+=Vd.length-1}i++}}static createElement(t,e){const n=qd.createElement("template");return n.innerHTML=t,n}}function gp(t,e,n=t,r){if(e===cp)return e;let i=void 0!==r?n._$Co?.[r]:n._$Cl;const s=Zd(e)?void 0:e._$litDirective$;return i?.constructor!==s&&(i?._$AO?.(!1),void 0===s?i=void 0:(i=new s(t),i._$AT(t,n,r)),void 0!==r?(n._$Co??=[])[r]=i:n._$Cl=i),void 0!==i&&(e=gp(t,i._$AS(t,e.values),i,r)),e}class mp{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:n}=this._$AD,r=(t?.creationScope??qd).importNode(e,!0);up.currentNode=r;let i=up.nextNode(),s=0,o=0,a=n[0];for(;void 0!==a;){if(s===a.index){let e;2===a.type?e=new yp(i,i.nextSibling,this,t):1===a.type?e=new a.ctor(i,a.name,a.strings,this,t):6===a.type&&(e=new wp(i,this,t)),this._$AV.push(e),a=n[++o]}s!==a?.index&&(i=up.nextNode(),s++)}return up.currentNode=qd,r}p(t){let e=0;for(const n of this._$AV)void 0!==n&&(void 0!==n.strings?(n._$AI(t,n,e),e+=n.strings.length-2):n._$AI(t[e])),e++}}class yp{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,n,r){this.type=2,this._$AH=lp,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=gp(this,t,e),Zd(t)?t===lp||null==t||""===t?(this._$AH!==lp&&this._$AR(),this._$AH=lp):t!==this._$AH&&t!==cp&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>Qd(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==lp&&Zd(this._$AH)?this._$AA.nextSibling.data=t:this.T(qd.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:n}=t,r="number"==typeof n?this._$AC(t):(void 0===n.el&&(n.el=fp.createElement(dp(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(e);else{const t=new mp(r,this),n=t.u(this.options);t.p(e),this.T(n),this._$AH=t}}_$AC(t){let e=hp.get(t.strings);return void 0===e&&hp.set(t.strings,e=new fp(t)),e}k(t){Qd(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let n,r=0;for(const i of t)r===e.length?e.push(n=new yp(this.O(Kd()),this.O(Kd()),this,this.options)):n=e[r],n._$AI(i),r++;r<e.length&&(this._$AR(n&&n._$AB.nextSibling,r),e.length=r)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){const e=Yd(t).nextSibling;Yd(t).remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class bp{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,n,r,i){this.type=1,this._$AH=lp,this._$AN=void 0,this.element=t,this.name=e,this._$AM=r,this.options=i,n.length>2||""!==n[0]||""!==n[1]?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=lp}_$AI(t,e=this,n,r){const i=this.strings;let s=!1;if(void 0===i)t=gp(this,t,e,0),s=!Zd(t)||t!==this._$AH&&t!==cp,s&&(this._$AH=t);else{const r=t;let o,a;for(t=i[0],o=0;o<i.length-1;o++)a=gp(this,r[n+o],e,o),a===cp&&(a=this._$AH[o]),s||=!Zd(a)||a!==this._$AH[o],a===lp?t=lp:t!==lp&&(t+=(a??"")+i[o+1]),this._$AH[o]=a}s&&!r&&this.j(t)}j(t){t===lp?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class vp extends bp{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===lp?void 0:t}}class xp extends bp{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==lp)}}class _p extends bp{constructor(t,e,n,r,i){super(t,e,n,r,i),this.type=5}_$AI(t,e=this){if((t=gp(this,t,e,0)??lp)===cp)return;const n=this._$AH,r=t===lp&&n!==lp||t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive,i=t!==lp&&(n===lp||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class wp{constructor(t,e,n){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(t){gp(this,t)}}const Ap=Gd.litHtmlPolyfillSupport;Ap?.(fp,yp),(Gd.litHtmlVersions??=[]).push("3.3.2");const Sp=(t,e,n)=>{const r=n?.renderBefore??e;let i=r._$litPart$;if(void 0===i){const t=n?.renderBefore??null;r._$litPart$=i=new yp(e.insertBefore(Kd(),t),t,void 0,n??{})}return i._$AI(t),i
|
|
21
21
|
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
* @license
|
|
23
|
+
* Copyright 2017 Google LLC
|
|
24
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
25
|
+
*/},Mp=globalThis;class Ep extends Bd{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=Sp(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return cp}}Ep._$litElement$=!0,Ep.finalized=!0,Mp.litElementHydrateSupport?.({LitElement:Ep});const kp=Mp.litElementPolyfillSupport;kp?.({LitElement:Ep}),(Mp.litElementVersions??=[]).push("4.2.2");const Cp=["mousemove","mouseup","mousedown","mouseout","wheel","tap","click","touchstart","touchmove","touchend","mouseenter","mouseleave","dragstart","dragmove","dragend","dblclick"];function Tp(t){return class extends t{constructor(){super(...arguments),this.userInputEventHandler=t=>{Du(this,t.type,t),t.stopPropagation()}}isHTMLElement(){return!0}isShadowable(){return!0}get element(){return this._element}set element(t){this._element=t}get tagName(){return this.get("type")}setElementProperties(t){throw new Error("Not Implemented Yet")}createElement(){this.element=document.createElement(this.tagName),this.element&&(this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.rootModel.getOverlay?.(this)?.appendChild(this.element),this.scalable||(this.element.style.zIndex="100"),Cp.forEach(t=>{this.element.addEventListener(t,this.userInputEventHandler)}),wi.forEach(t=>{this.element.addEventListener(t,this.userInputEventHandler)}),this.oncreate_element&&this.oncreate_element(this.element))}reposition(){this.element&&ns(this)}disposeElement(){if(!this.element)return;Cp.forEach(t=>{this.element.removeEventListener(t,this.userInputEventHandler)}),wi.forEach(t=>{this.element.removeEventListener(t,this.userInputEventHandler)});const t=this.element;t&&t.parentElement&&t.parentElement.removeChild(t),this.element=null}async ready(){await super.ready(),!this.element&&this.createElement(),this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.rootModel.getOverlay?.(this)?.appendChild(this.element),this.setElementProperties(this.element),this.reposition()}dispose(){this.disposeElement(),super.dispose()}get hasTextProperty(){return!0}get textHidden(){return!0}set textHidden(t){}get hidden(){return super.hidden}set hidden(t){super.hidden=t,this.element.style.display=t?"none":"block"}onchange(t,e){this.element&&this.setElementProperties(this.element),"position"in t&&this.onchangePosition(),this.reposition()}onchangePosition(){this.element&&("static"==this.position&&this.parent.isHTMLElement()?this.parent.element.appendChild(this.element):this.rootModel.getOverlay?.(this)?.appendChild(this.element))}isDescendible(t){return t.isHTMLElement()}}}var Pp;const Op={x:1,y:1},Dp={boxSizing:"border-box",margin:"0px",position:"absolute",outline:"none"},jp={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"select",label:"position-origin",name:"origin",property:{options:[{display:"",value:""},{display:"left-top",value:"left-top"},{display:"center-top",value:"center-top"},{display:"right-top",value:"right-top"},{display:"left-middle",value:"left-middle"},{display:"center-middle",value:"center-middle"},{display:"right-middle",value:"right-middle"},{display:"left-bottom",value:"left-bottom"},{display:"center-bottom",value:"center-bottom"},{display:"right-bottom",value:"right-bottom"}]}},{type:"number",label:"offset-x",name:"offsetX"},{type:"number",label:"offset-y",name:"offsetY"},{type:"layout",label:"layout",name:"layoutOption"},{type:"checkbox",label:"closable",name:"closable"},{type:"checkbox",label:"draggable",name:"draggable"},{type:"checkbox",label:"minimizable",name:"minimizable"},{type:"checkbox",label:"minimized",name:"minimized"}],help:"scene/component/container"};class Ip extends(Tp(pc)){constructor(){super(...arguments),Pp.set(this,null),this.startDragging=t=>{if(!this.state.draggable)return;t.preventDefault(),t.stopPropagation();const e=t.clientX,n=t.clientY,{left:r,top:i}=this.bounds,s=this.rootModel.getOverlay?.(this)?.style.transform,o=s?.match(/scale\(([^,]+),\s*([^)]+)\)/),a=o?parseFloat(o[1]):1,c=o?parseFloat(o[2]):a,l=t=>{t.preventDefault(),t.stopPropagation();const s=(t.clientX-e)/a,o=(t.clientY-n)/c;this.setState({left:r+s,top:i+o})},h=t=>{t.preventDefault(),t.stopPropagation(),document.removeEventListener("mousemove",l,!0),document.removeEventListener("mouseup",h,!0)};document.addEventListener("mousemove",l,!0),document.addEventListener("mouseup",h,!0)},this.toggleMinimizable=()=>{const{minimized:t}=this.state;this.setState("minimized",!t)},this.closeContainer=()=>{this.setState("hidden",!0)}}get tagName(){return"div"}get nature(){return jp}isPositionable(){return!0}setElementProperties(t){}get layout(){return Va.get(this.get("layout"))||$a}reposition(){if(!this.element)return;const t=this,{id:e,class:n,scale:r=Op}=t.state,{rotation:i=0,hidden:s}=t,{left:o,top:a,width:c,height:l}=t.bounds,h=c/2,u=l/2,d=t.element;d.hidden=s,e&&(d.id=e),n&&(d.className=n),Object.assign(d.style,Dp,{left:o+"px",top:a+"px",width:"0px",height:"0px",backgroundColor:"transparent"});const p=t.delta(),f=(r&&r.x||1)*p.sx,g=(r&&r.y||1)*p.sy,m=(i||0)+p.theta,y=p.tx||0,b=p.ty||0;d.style.transform=`translate(${y+h}px, ${b+u}px) rotate(${m}rad) translate(${-h}px, ${-u}px) scale(${f}, ${g}) perspective(1px)`}set path(t){const{minimized:e}=this.state,n=t[0],r=t[2];e?this.set({left:n.x,top:n.y,width:r.x-n.x}):this.set({left:n.x,top:n.y,width:r.x-n.x,height:r.y-n.y})}get path(){const{left:t=0,top:e=0,width:n=0,height:r=0}=this.state;return[{x:t,y:e},{x:t+n,y:e},{x:t+n,y:e+r},{x:t,y:e+r}]}get bounds(){const{left:t=0,top:e=0,width:n=0,height:r=0}=this.state;return{left:t,top:e,width:n,height:r}}set bounds(t){const{minimized:e}=this.state,{left:n=0,top:r=0,width:i=0,height:s=0}=t,o={left:n,top:r};e?this.set({...o,width:i}):this.set({...o,width:i,height:s})}updatePosition(){if(!this.origin)return void(bd(this,Pp,"f")&&(bd(this,Pp,"f").disconnect(),vd(this,Pp,null,"f")));const t=this.rootModel.auxOverlay;if(!t)return;const e=this.bounds,{width:n,height:r}="static"!==this.position?t.getBoundingClientRect():this.parent.bounds,{x:i,y:s}=function(t,e,n){const{left:r,top:i,width:s,height:o}=e,{width:a,height:c}=n;return t?{x:t.includes("left")?r:t.includes("center")?r+(s-a)/2:r+(s-a),y:t.includes("top")?i:t.includes("middle")?i+(o-c)/2:i+(o-c)}:{x:n.left,y:n.top}}(this.origin,{left:0,top:0,width:n,height:r},e),o=this.offset;this.bounds={left:i+(this.origin.includes("right")?-o.x:+o.x),top:s+(this.origin.includes("bottom")?-o.y:+o.y),width:e.width,height:e.height},bd(this,Pp,"f")||(vd(this,Pp,new ResizeObserver(()=>{requestAnimationFrame(()=>this.updatePosition())}),"f"),bd(this,Pp,"f").observe(t))}onchange(t,e){const n=["draggable","minimizable","closable","minimized","width","height","origin","offsetX","offsetY","hidden"];super.onchange(t,e),Object.keys(t).some(t=>n.includes(t))&&this.onchangeButtons(),"minimized"in t&&this.onchangeMinimized(),("origin"in t||"offsetX"in t||"offsetY"in t)&&this.updatePosition()}async ready(){await super.ready(),this.updatePosition()}dispose(){bd(this,Pp,"f")&&(bd(this,Pp,"f").disconnect(),vd(this,Pp,null,"f")),super.dispose()}createElement(){super.createElement(),this.element&&(this.element.setAttribute("scene","container"),this.onchangeButtons(),this.onchangeMinimized())}onchangeButtons(){if(!this.element)return;const{draggable:t,minimizable:e,closable:n,minimized:r,hidden:i}=this.state,{width:s}=this.bounds;this.element.style.setProperty("--container-width",`${s}px`);try{Sp(i?lp:ap`
|
|
26
26
|
<style>
|
|
27
27
|
[scene='container'] .buttons {
|
|
28
28
|
position: absolute;
|
|
@@ -64,11 +64,11 @@ const idt=globalThis,odt=idt.trustedTypes,adt=odt?odt.createPolicy("lit-html",{c
|
|
|
64
64
|
|
|
65
65
|
<div class="buttons" @mousedown=${this.startDragging}>
|
|
66
66
|
<span></span>
|
|
67
|
-
${t?
|
|
68
|
-
${e?
|
|
69
|
-
${
|
|
70
|
-
</button>`:
|
|
71
|
-
${
|
|
67
|
+
${t?ap`<button class="draggable">drag_pan</button>`:lp}
|
|
68
|
+
${e?ap`<button class="minimizable" @click=${this.toggleMinimizable}>
|
|
69
|
+
${r?"crop_square":"minimize"}
|
|
70
|
+
</button>`:lp}
|
|
71
|
+
${n?ap`<button class="closable" @click=${this.closeContainer}>close</button>`:lp}
|
|
72
72
|
</div>
|
|
73
|
-
`,this.element)}onchangeMinimized(){const{minimized:t}=this.state;t?this.setState("height",24):this.setState("height",this.get("height"))}}Hdt=new WeakMap,tlt.register("container",Kdt);const Qdt=Math.sqrt(3),Jdt=2;function Zdt(t,e,r,n,i){var o,a,s,c,l=5+i,u=r.x,h=r.y,f=n.x,d=n.y;if(Math.abs(u-f)>l&&Math.abs(h-d)>l){var p=(d-h)/(f-u),g=h-p*u;if(Math.abs(e-(p*t+g))>l)return!1}return u>f?(a=u,o=f):(a=f,o=u),h>d?(c=h,s=d):(c=d,s=h),!(a+5<t)&&(!(o-5>t)&&(!(c+5<e)&&!(s-5>e)))}function tpt(t,e,r,n=2){for(let i=0;i<r.length-1;i++)if(Zdt(t,e,r[i],r[i+1],n))return!0;return!1}function ept(t,e,r,n){if("arrow"!=t.slice(-5))return r;var i=Math.atan2(n.y-r.y,n.x-r.x),o=1.5*e;return{x:r.x+Math.cos(i)*o,y:r.y+Math.sin(i)*o}}function rpt(t,e,r){var{lineWidth:n=Jdt,strokeStyle:i="#000000",lineCap:o=!1,alpha:a=1,begin:s="none",end:c="none",beginSize:l="size5",endSize:u="size5"}=r;if(("none"!=s||"none"!=c)&&(n=Number(n)||Jdt,t.lineCap=o,t.lineWidth=n,t.strokeStyle=i,t.fillStyle=i,t.globalAlpha*=a,"none"!=s&&npt(t,e[0],e[1],n,s,ipt(l,n)),"none"!=c)){let r=e.length;npt(t,e[r-1],e[r-2],n,c,ipt(u,n))}}function npt(t,e,r,n,i,o){var{x:a,y:s}=e,c=Math.atan2(r.y-s,r.x-a);switch(t.beginPath(),t.translate(a,s),t.rotate(c),i){case"oval":t.ellipse(0,0,o.X,o.Y,0,0,2*Math.PI),t.fill();break;case"diamond":t.moveTo(-o.X,0),t.lineTo(0,-o.Y),t.lineTo(o.X,0),t.lineTo(0,o.Y),t.fill();break;case"arrow":t.moveTo(0,0),t.lineTo(Qdt*o.X,-o.Y),t.lineTo(Qdt*o.X,o.Y),t.fill();break;case"sharp-arrow":t.moveTo(0,0),t.lineTo(Qdt*o.X,-o.Y),t.lineTo(-o.X/1.5+Qdt*o.X,0),t.lineTo(Qdt*o.X,o.Y),t.fill();break;case"open-arrow":t.moveTo(Qdt*o.X+n,-o.Y),t.lineTo(n,0),t.lineTo(Qdt*o.X+n,o.Y),t.stroke()}t.rotate(-c),t.translate(-a,-s),t.closePath()}function ipt(t,e){let r={};switch(e*=1.2,t){case"size1":r.X=e,r.Y=e;break;case"size2":r.X=1.5*e,r.Y=e;break;case"size3":r.X=2*e,r.Y=e;break;case"size4":r.X=e,r.Y=1.5*e;break;case"size5":default:r.X=1.5*e,r.Y=1.5*e;break;case"size6":r.X=2*e,r.Y=1.5*e;break;case"size7":r.X=e,r.Y=2*e;break;case"size8":r.X=1.5*e,r.Y=2*e;break;case"size9":r.X=2*e,r.Y=2*e}return r}const opt="N",apt="S",spt="E",cpt="W";class lpt{constructor({component:t,anchor:e,position:r,self:n}){this.component=t,this._anchorName=e,this._position=r,this.self=n}get position(){const t=this.anchor;if(t){var{position:e}=t;const r=this.component.toScene(e.x,e.y);return this.self.transcoordT2P(r.x,r.y)}return this._position}set position({x:t,y:e}){this._position={x:t,y:e}}get anchor(){return this.component?.findAnchor(this._anchorName)}get direction(){const t=this.component.bounds,e=this.anchor;if(!e)return spt;const r=e.position;return r.y<=t.top?opt:r.y>=t.top+t.height?apt:r.x<=t.left?cpt:spt}get boundaryPosition(){const t=this.anchor;if(t){var{position:e}=t,r=0,n=0;switch(this.direction){case apt:n=20;break;case opt:n=-20;break;case cpt:r=-20;break;default:r=20}e={x:e.x+r,y:e.y+n};const i=this.component.toScene(e.x,e.y);return this.self.transcoordT2P(i.x,i.y)}}}class upt extends tlt{isLine(){return!0}replaceRefids(t){["from","to"].forEach(e=>{const r=this.get(e);if(r?.component){const n=t.get(r.component)||r.component;this.set(e,{...r,component:n})}})}get fromEnd(){if(this.parent&&!this._fromEnd){const{component:t,anchor:e,position:r}=this.getState("from")||{};if(!t)return;const n=this.root?.findByRefid(t);if(!n)return;this._fromEnd=new lpt({component:n,fromto:"from",anchor:e,position:r,self:this})}return this._fromEnd}get from(){return this.getState("from")}set from(t){delete this._fromEnd,this.set("from",t)}get toEnd(){if(this.parent&&!this._toEnd){const{component:t,anchor:e,position:r}=this.getState("to")||{};if(!t)return;const n=this.root?.findByRefid(t);if(!n)return;this._toEnd=new lpt({component:n,fromto:"to",anchor:e,position:r,self:this})}return this._toEnd}get to(){return this.getState("to")}set to(t){delete this._toEnd,this.set("to",t)}move({x:t,y:e},r){r&&(this.from={position:this._fromEnd?.position||this.getState("from")?.position||{x:0,y:0}},this.to={position:this._toEnd?.position||this.getState("to")?.position||{x:0,y:0}}),super.move({x:t,y:e},r)}render(t){var{begin:e="none",end:r="none",lineWidth:n,round:i=0}=this.state,o=this.drawPath;rpt(t,o,this.state),t.beginPath();var a=ept(e,n,o[0],o[1]),s=ept(r,n,o[o.length-1],o[o.length-2]);o=[a,...o.slice(1,-1),s];var c={x:a.x,y:a.y};t.moveTo(a.x,a.y);for(var l=1;l<o.length;l++){const e=c;c=o[l];const r=o[l+1];if(e.x===c.x&&e.y===c.y)continue;if(!r){t.lineTo(c.x,c.y);break}var u=0!==(d=Math.sqrt((e.x-c.x)*(e.x-c.x)+(e.y-c.y)*(e.y-c.y)))?Math.atan2(e.x-c.x,e.y-c.y):0,h=Math.sin(u)*Math.min(i,d/2)+c.x,f=Math.cos(u)*Math.min(i,d/2)+c.y;const n=i>0||0!==d?{x:h,y:f}:c;var d;u=0!==(d=Math.sqrt((r.x-c.x)*(r.x-c.x)+(r.y-c.y)*(r.y-c.y)))?Math.atan2(r.x-c.x,r.y-c.y):0,h=Math.sin(u)*Math.min(i,d/2)+c.x,f=Math.cos(u)*Math.min(i,d/2)+c.y;const a=i>0||0!==d?{x:h,y:f}:c;t.lineTo(n.x,n.y),i>0&&t.quadraticCurveTo(c.x,c.y,a.x,a.y)}this.drawStroke(t)}contains(t,e){var{lineWidth:r}=this.state;return tpt(t,e,this.drawPath,r)}get resizable(){return!1}get mutable(){return!0}get rotatable(){return!1}get path(){const{from:t,to:e}=this.state;var{x1:r,y1:n,x2:i,y2:o}=this.state;return[this.fromEnd?.position||t?.position||{x:r,y:n},this.toEnd?.position||e?.position||{x:i,y:o}]}set path(t){const[e,r]=t,{from:n,to:i}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...n,position:e},to:{...i,position:r}})}get textBounds(){var t,e,r=this.drawPath,n=0;for(let s=1;s<r.length;s++){var i=r[s-1],o=r[s],a=(i.x-o.x)*(i.x-o.x)+(i.y-o.y)*(i.y-o.y);a>n&&(n=Math.ceil(a),t=i,e=o)}var{paddingTop:s,paddingLeft:c,paddingRight:l,paddingBottom:u}=this.state;return u||=0,s||=0,c||=0,l||=0,{left:Math.min(t.x,e.x)+c,top:Math.min(t.y,e.y)+s,width:Math.max(Math.abs(t.x-e.x)-c-l,0),height:Math.max(Math.abs(t.y-e.y)-s-u,0)}}get decorators(){return this.app.isEditMode?["decotag"]:[]}}upt.getTipNeckPos=ept,upt.containedInPath=tpt,upt.drawEndTips=rpt,tlt.register("line",upt);const hpt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"angle",label:"start-angle",name:"startAngle",property:"startAngle"},{type:"angle",label:"end-angle",name:"endAngle",property:"endAngle"}],"value-property":"text"};class fpt extends(Qlt(elt)){is3dish(){return!0}render(t){var{cx:e,cy:r,rx:n,ry:i,startAngle:o,endAngle:a,anticlockwise:s}=this.state;t.beginPath(),t.ellipse(e,r,Math.abs(n),Math.abs(i),0,o||0,a||2*Math.PI,s),void 0!==o&&void 0!==a&&(t.lineTo(e,r),t.closePath())}get path(){var{cx:t,cy:e,rx:r,ry:n}=this.state;return[{x:t-r,y:e-n},{x:t+r,y:e-n},{x:t+r,y:e+n},{x:t-r,y:e+n}]}set path(t){var e=t[0],r=t[2];this.set({cx:e.x+(r.x-e.x)/2,cy:e.y+(r.y-e.y)/2,rx:(r.x-e.x)/2,ry:(r.y-e.y)/2})}contains(t,e){var{cx:r,cy:n,rx:i,ry:o}=this.state,a=(t-r)/(2*i-.5),s=(e-n)/(2*o-.5);return a*a+s*s<.25}outline(t){return function(t,e){var{cx:r,cy:n,rx:i,ry:o}=t.model,a=2*Math.PI*e,s=r+i*Math.cos(a),c=n+o*Math.sin(a);return t.toScene(s,c)}(this,t)}get anchors(){return function(t){var{left:e,top:r,width:n,height:i}=t.bounds,o=e+n/2,a=r+i/2;return[{name:"TOP",position:{x:o,y:r}},{name:"RIGHT",position:{x:e+n,y:a}},{name:"BOTTOM",position:{x:o,y:r+i}},{name:"LEFT",position:{x:e,y:a}}]}(this)}get nature(){return hpt}}tlt.memoize(fpt.prototype,"path",!1),tlt.register("ellipse",fpt);var dpt={ondragstart:function(t,e,r){r.mutatePath(null,function(r){r.splice(e+1,0,t)})},ondragmove:function(t,e,r){r.mutatePath(null,function(r){r[e+1]=t})},ondragend:function(t,e,r){}};const ppt={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polygon"};class gpt extends elt{is3dish(){return!0}get mutable(){return!0}get pathExtendable(){return!0}get path(){return this.state.path}set path(t){this.set("path",t)}contains(t,e){var r=this.state.path,n=!1;return r.forEach((i,o)=>{let a=(o+r.length+1)%r.length,s=i.x,c=i.y,l=r[a].x,u=r[a].y;c>e!=u>e&&t<(l-s)*(e-c)/(u-c)+s&&(n=!n)}),n}get controls(){var t=this.path;return t.map((e,r)=>{let n=t[r+1>=t.length?0:r+1];return{x:(e.x+n.x)/2,y:(e.y+n.y)/2,handler:dpt}})}get nature(){return ppt}}tlt.memoize(gpt.prototype,"controls",!1),tlt.register("polygon",gpt);var vpt={ondragstart:function(t,e,r){r.mutatePath(null,function(r){r.splice(e,0,t)})},ondragmove:function(t,e,r){r.mutatePath(null,function(r){r[e]=t})},ondragend:function(t,e,r){}};const ypt={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polyline"};class mpt extends upt{get pathExtendable(){return!0}get path(){const{from:t,to:e}=this.state,{path:r}=this.state;return[this.fromEnd?.position||t?.position||r[0],...r.slice(1,-1),this.toEnd?.position||e?.position||r[r.length-1]]}set path(t){const{from:e,to:r}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...e,position:t[0]},to:{...r,position:t[t.length-1]},path:t})}get controls(){var t=this.path,e=[];for(let r=0;r<t.length-1;r++){let n=t[r],i=t[r+1];0==r&&e.push({x:n.x,y:n.y,handler:vpt}),e.push({x:(n.x+i.x)/2,y:(n.y+i.y)/2,handler:vpt}),r==t.length-2&&e.push({x:i.x,y:i.y,handler:vpt})}return e}get nature(){return ypt}}tlt.register("polyline",mpt);const bpt={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/ortholine"};class xpt extends upt{get pathExtendable(){return!1}get drawPath(){const t=this.path[0],e=this.path[1],{component:r,direction:n,boundaryPosition:i=t}=this.fromEnd||{},{component:o,direction:a,boundaryPosition:s=e}=this.toEnd||{};var c=[i,s],l=[];i&&l.push(i);var u=r?.bounds;if(u){var h=r.toScene(u.left,u.top);h=this.transcoordT2P(h.x,h.y),u={...u,left:h.x,top:h.y}}var f=u?{left:u.left-20,top:u.top-20,width:u.width+40,height:u.height+40}:{left:i.x,top:i.y,width:0,height:0};u=u||f;var d=o?.bounds;if(d){h=o.toScene(d.left,d.top);h=this.transcoordT2P(h.x,h.y),d={...d,left:h.x,top:h.y}}var p=d?{left:d.left-20,top:d.top-20,width:d.width+40,height:d.height+40}:{left:s.x,top:s.y,width:0,height:0};d=d||p;var g=[f,p];const v=f.left>p.left?p.left:f.left,y=f.top>p.top?p.top:f.top;var m,b,x,w,A,_,E,S,k,M,O={left:v,top:y,width:f.left+f.width>p.left+p.width?f.left+f.width-v:p.left+p.width-v,height:f.top+f.height>p.top+p.height?f.top+f.height-y:p.top+p.height-y},T=0,P=0;u.left+u.width<d.left?(w=0,A=1,k=n,M=a,m=(u.left+u.width+d.left)/2,T=d.left-m):d.left+d.width<u.left&&(w=1,A=0,k=a,M=n,m=(u.left+d.width+d.left)/2,T=u.left-m),u.top+u.height<d.top?(x=0,_=1,E=n,S=a,b=(u.top+u.height+d.top)/2,P=d.top-b):d.top+d.height<u.top&&(x=1,_=0,E=a,S=n,b=(u.top+d.height+d.top)/2,P=u.top-b);var I=[];if(m&&T>P){switch(M){case cpt:switch(k){case spt:I.push({x:m,y:c[w].y}),I.push({x:m,y:c[A].y});break;case cpt:var C=g[w].top+g[w].height/2>c[A].y?Math.min(g[w].top,c[A].y):Math.max(g[w].top+g[w].height,c[A].y);I.push({x:c[w].x,y:C}),I.push({x:m,y:C}),I.push({x:m,y:c[A].y});break;case opt:case apt:C=k===apt?Math.max(c[w].y,c[A].y):Math.min(c[w].y,c[A].y);I.push({x:c[w].x,y:C}),I.push({x:m,y:C}),I.push({x:m,y:c[A].y});break;default:return this.path}break;case spt:switch(k){case spt:var R=C=c[w].y<c[A].y?Math.min(g[A].top,c[w].y):Math.max(g[A].top+g[A].height,c[w].y);break;case cpt:R=C=void 0!==b?b:c[w].y<c[A].y?O.top-.5*T:O.top+O.height+.5*T;break;case apt:R=C=void 0!==b?Math.max(b,c[w].y):O.top+O.height;break;case opt:R=C=b?Math.min(b,g[w].top):O.top;break;default:return this.path}I.push({x:c[w].x,y:C}),I.push({x:m,y:C}),I.push({x:m,y:R}),I.push({x:c[A].x,y:R});break;case apt:switch(k){case spt:C=c[w].y,R=c[w].y>c[A].y?c[w].y:g[A].top+g[A].height;break;case cpt:R=C=b?Math.max(b,g[A].top+g[A].height):O.top+O.height;break;case apt:R=C=O.top+O.height;break;case opt:C=b?Math.min(b,g[w].top):g[w].top,R=b?Math.max(b,g[A].top+g[A].height):g[A].top+g[A].height;break;default:return this.path}I.push({x:c[w].x,y:C}),I.push({x:m,y:C}),I.push({x:m,y:R}),I.push({x:c[A].x,y:R});break;case opt:switch(k){case spt:C=c[w].y,R=c[w].y<c[A].y?c[w].y:g[A].top;break;case cpt:R=C=b?Math.min(b,g[A].top):O.top;break;case apt:C=void 0!==b?Math.max(b,c[w].y):c[w].y,R=void 0!==b?Math.min(b,c[A].y):c[A].y;break;case opt:R=C=O.top;break;default:return this.path}I.push({x:c[w].x,y:C}),I.push({x:m,y:C}),I.push({x:m,y:R}),I.push({x:c[A].x,y:R});break;default:return this.path}l.push(...0===w?I:I.reverse())}else if(b){switch(S){case opt:switch(E){case apt:I.push({x:c[x].x,y:b}),I.push({x:c[_].x,y:b});break;case opt:var D=g[x].left+g[x].width/2>c[_].x?Math.min(g[x].left,c[_].x):Math.max(g[x].left+g[x].width,c[_].x);I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:c[_].x,y:b});break;case cpt:D=Math.min(c[x].x,c[_].x);I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:c[_].x,y:b});break;case spt:D=Math.max(c[x].x,c[_].x);I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:c[_].x,y:b});break;default:return this.path}break;case apt:switch(E){case cpt:var L=D=O.left;break;case spt:L=D=void 0!==m?Math.max(m,c[x].x):O.left+O.width;break;case opt:L=D=void 0!==m?m:c[x].x<c[_].x?O.left-.5*P:O.left+O.width+.5*P;break;case apt:D=c[x].x,L=c[x].x<c[_].x?Math.min(g[_].left,c[x].x):Math.max(g[_].left+g[_].width,c[x].x);break;default:return this.path}I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:L,y:b}),I.push({x:L,y:c[_].y});break;case spt:switch(E){case cpt:D=void 0!==m?Math.min(m,c[x].x):c[x].x,L=void 0!==m?Math.max(m,c[_].x):c[_].x;break;case spt:L=D=O.left+O.width;break;case opt:L=D=void 0!==m?Math.max(m,c[_].x):O.left+O.width;break;case apt:D=c[x].x,L=Math.max(g[_].left+g[_].width,c[x].x);break;default:return this.path}I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:L,y:b}),I.push({x:L,y:c[_].y});break;case cpt:switch(E){case cpt:L=D=O.left;break;case spt:D=void 0!==m?Math.max(m,c[x].x):c[x].x,L=void 0!==m?Math.min(m,c[_].x):c[_].x;break;case opt:L=D=O.left;break;case apt:D=c[x].x<c[_].x?Math.min(g[_].left,c[x].x):c[x].x,L=Math.min(D,c[_].x);break;default:return this.path}I.push({x:D,y:c[x].y}),I.push({x:D,y:b}),I.push({x:L,y:b}),I.push({x:L,y:c[_].y});break;default:return this.path}l.push(...0===x?I:I.reverse())}else switch(n){case opt:switch(a){case opt:var j=O.top;l.push({x:c[0].x,y:j}),l.push({x:c[1].x,y:j});break;case apt:var N=O.left+O.width;l.push({x:N,y:c[0].y}),l.push({x:N,y:O.top+O.height}),l.push({x:c[1].x,y:O.top+O.height});break;case spt:N=c[1].y<c[0].y&&c[1].x<c[0].x?c[0].x:O.left+O.width;l.push({x:N,y:c[0].y}),l.push({x:N,y:c[1].y});break;case cpt:N=O.left;l.push({x:N,y:c[0].y}),l.push({x:N,y:c[1].y});break;default:return this.path}break;case apt:switch(a){case opt:N=O.left+O.width;l.push({x:N,y:c[0].y}),l.push({x:N,y:O.top}),l.push({x:c[1].x,y:O.top});break;case apt:j=O.top+O.height;l.push({x:c[0].x,y:j}),l.push({x:c[1].x,y:j});break;case spt:j=O.top+O.height;l.push({x:c[0].x,y:j}),l.push({x:c[1].x,y:j});break;case cpt:j=O.top+O.height;l.push({x:c[0].x,y:j}),l.push({x:c[1].x,y:j});break;default:return this.path}break;case cpt:switch(a){case opt:N=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].x:O.left,j=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].y:Math.min(O.top,c[0].y);l.push({x:N,y:c[0].y}),l.push({x:N,y:j}),l.push({x:c[1].x,y:j});break;case apt:N=O.left,j=Math.max(O.top+O.height,c[0].y);l.push({x:N,y:c[0].y}),l.push({x:N,y:j}),l.push({x:c[1].x,y:j});break;case spt:N=O.left+O.width;l.push({x:c[0].x,y:O.top}),l.push({x:N,y:O.top}),l.push({x:N,y:c[1].y});break;case cpt:N=O.left;l.push({x:N,y:c[0].y}),l.push({x:N,y:c[1].y});break;default:return this.path}break;case spt:switch(a){case opt:j=c[0].y<c[1].y&&c[0].x<c[1].x?c[0].y:O.top;l.push({x:c[0].x,y:j}),l.push({x:c[1].x,y:j});break;case apt:j=c[0].y>c[1].y&&c[0].x<c[1].x?c[0].y:O.top+O.height;l.push({x:c[0].x,y:j}),l.push({x:c[1].x,y:j});break;case spt:j=O.top+O.height;l.push({x:c[0].x,y:j}),l.push({x:c[1].x,y:j});break;case cpt:j=O.top+O.height;l.push({x:c[0].x,y:j}),l.push({x:c[1].x,y:j});break;default:return this.path}break;default:return this.path}return s&&l.push(s),[t,...l,e].filter((t,e,r)=>{if(0===e)return!0;const n=r[e-1];return t.x!==n.x||t.y!==n.y}).filter((t,e,r)=>{if(0===e||e>=r.length-1)return!0;const n=r[e-1],i=r[e+1];return!(t.x===n.x&&t.x===i.x||t.y===n.y&&t.y===i.y)})}get nature(){return bpt}}tlt.register("ortholine",xpt);const wpt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"image-selector",label:"image-src",name:"src",property:{displayField:"id",displayFullUrl:!0,baseUrlAlias:"$base_url",defaultStorage:"scene-image",storageFilters:{type:Array,value:[{name:"category",value:"image"}]},useUpload:!0}},{type:"select",label:"cross-origin",name:"crossOrigin",property:{options:["","anonymous","use-credentials"]}}],"value-property":"src",help:"scene/component/image-view"};class Apt extends(nlt(elt)){static get noimage(){return Apt.NOIMAGE||(Apt.NOIMAGE=new Image,Apt.NOIMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABIBAMAAAD7Se1QAAAAIVBMVEUAAABHcEwBAQEREREBAQEEBAQGBgYLCwsDAwMDAwMICAi6HF9tAAAAC3RSTlNNAEAERiMYCS41Eac10lYAAAEgSURBVHhe7dY9asQwEAXgh7DNertNiJy48pIitY3SB7bYdk0ukL1BDDmA9gZecoH4pmFQ3MQayUMguPBrNPD4wD9TCMvJmt3M/AtYwXOlXiWgqADVCUBD46MAnGhMBaCiUQmAm8VA/Eh/eWl9Fn5WcxD+OLuRrUYJDKLluwH2InACUgkoACSdADxQc50Bytadb9RkM0CT13TcvlCT1HFg8UTHvasuUVACCa3El6u2UdD8LFTlKhUFFgA+d3dj10aABkUN72N3jAADCrJq7PIIsPidcxBoTHIIAjMFmyCwmGYIAA1P9gFgfCANAOsDSccCDW+uLDB+kLGg94OkZoAGkwsDDAe2DOg5oPxAg03rBR88OHpBz4N8UVeHFSwma74BTW6Ge4rIRa4AAAAASUVORK5CYII="),Apt.NOIMAGE}dispose(){super.dispose(),this._offcanvas=null,this._image=null}render(t){var{left:e,top:r,width:n,height:i,isGray:o=!1,alpha:a=1,src:s}=this.state;if(this.prepareIf(!this._image&&s),t.beginPath(),t.globalAlpha*=a,this._image&&this._image.complete)if(o&&this._offcanvas)t.drawImage(this._offcanvas,e,r,n,i);else try{t.drawImage(this._image,e,r,n,i)}catch(o){t.drawImage(Apt.noimage,e,r,n,i)}else!this.app.isViewMode&&t.drawImage(Apt.noimage,e,r,n,i)}get nature(){return wpt}get hasTextProperty(){return!1}ready(){super.ready(),this.prepareIf(!this._image&&this.state.src)}prepare(t,e){var{src:r,crossOrigin:n}=this.state;if(r){this._image=new Image;try{n&&(this._image.crossOrigin=n),this._image.src=this.app.url(r)||""}catch(t){return void e(t)}this._image.onload=()=>{if(this.get("isGray")){let t=this._image.width,e=this._image.height;this._offcanvas=tlt.createCanvas(t,e);let r=this._offcanvas.getContext("2d");r.drawImage(this._image,0,0);let n=function(t,e,r){try{var n=t.getImageData(0,0,e,r)}catch(t){return Ost("Get Image Data Error: "+t.message),null}var i=n.data;for(let t=0;t<e*r*4;t+=4){let e=i[t],r=i[t+1],o=i[t+2],a=parseInt((e+r+o)/3);n.data[t]=a,n.data[t+1]=a,n.data[t+2]=a}return n}(r,t,e);r.putImageData(n,0,0)}t(this)},this._image.onerror=t=>{this._image&&!this._image.currentSrc&&(this._image=null),e(t)}}else t(this)}get src(){return this.get("src")}set src(t){this.set("src",t)}onchange(t,e){(t.hasOwnProperty("src")||t.hasOwnProperty("isGray"))&&(this._offcanvas=null,this._image=null,this.prepareIf(t.src))}ondropfile(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("image/"))return void(this.src=e[r])}}tlt.register("image-view",Apt);class _pt extends(Wdt(nlt(tlt))){is3dish(){return!0}prerender(){}}var Ept={},Spt={},kpt={};Object.defineProperty(kpt,"__esModule",{value:!0});var Mpt=function(){function t(){}return t.bitsToNum=function(t){return t.reduce(function(t,e){return 2*t+e},0)},t.byteToBitArr=function(t){for(var e=[],r=7;r>=0;r--)e.push(!!(t&1<<r));return e},t.lzwDecode=function(t,e){for(var r,n,i=0,o=function(t){for(var r=0,n=0;n<t;n++)e.charCodeAt(i>>3)&1<<(7&i)&&(r|=1<<n),i++;return r},a=[],s=1<<t,c=s+1,l=t+1,u=[],h=function(){u=[],l=t+1;for(var e=0;e<s;e++)u[e]=[e];u[s]=[],u[c]=null};;)if(n=r,(r=o(l))!==s){if(r===c)break;if(r<u.length)n!==s&&u.push(u[n].concat(u[r][0]));else{if(r!==u.length)throw new Error("Invalid LZW code.");u.push(u[n].concat(u[n][0]))}a.push.apply(a,u[r]),u.length===1<<l&&l<12&&l++}else h();return a},t}();kpt.SuperGifUtils=Mpt,Object.defineProperty(Spt,"__esModule",{value:!0});var Opt=kpt,Tpt=function(){function t(t,e){this.stream=t,this.handler=e}return t.prototype.parseCT=function(t){for(var e=[],r=0;r<t;r++)e.push(this.stream.readBytes(3));return e},t.prototype.readSubBlocks=function(){var t,e;e="";do{t=this.stream.readByte(),e+=this.stream.read(t)}while(0!==t);return e},t.prototype.parseHeader=function(){var t={};if(t.sig=this.stream.read(3),t.ver=this.stream.read(3),"GIF"!==t.sig)throw new Error("Not a GIF file.");t.width=this.stream.readUnsigned(),t.height=this.stream.readUnsigned();var e=Opt.SuperGifUtils.byteToBitArr(this.stream.readByte());t.gctFlag=e.shift(),t.colorRes=Opt.SuperGifUtils.bitsToNum(e.splice(0,3)),t.sorted=e.shift(),t.gctSize=Opt.SuperGifUtils.bitsToNum(e.splice(0,3)),t.bgColor=this.stream.readByte(),t.pixelAspectRatio=this.stream.readByte(),t.gctFlag&&(t.gct=this.parseCT(1<<t.gctSize+1)),this.handler.hdr&&this.handler.hdr(t)},t.prototype.parseExt=function(t){var e=this;switch(t.label=this.stream.readByte(),t.label){case 249:t.extType="gce",function(t){e.stream.readByte();var r=Opt.SuperGifUtils.byteToBitArr(e.stream.readByte());t.reserved=r.splice(0,3),t.disposalMethod=Opt.SuperGifUtils.bitsToNum(r.splice(0,3)),t.userInput=r.shift(),t.transparencyGiven=r.shift(),t.delayTime=e.stream.readUnsigned(),t.transparencyIndex=e.stream.readByte(),t.terminator=e.stream.readByte(),e.handler.gce&&e.handler.gce(t)}(t);break;case 254:t.extType="com",function(t){t.comment=e.readSubBlocks(),e.handler.com&&e.handler.com(t)}(t);break;case 1:t.extType="pte",function(t){e.stream.readByte(),t.ptHeader=e.stream.readBytes(12),t.ptData=e.readSubBlocks(),e.handler.pte&&e.handler.pte(t)}(t);break;case 255:t.extType="app",function(t){e.stream.readByte(),t.identifier=e.stream.read(8),t.authCode=e.stream.read(3),"NETSCAPE"===t.identifier?function(t){e.stream.readByte(),t.unknown=e.stream.readByte(),t.iterations=e.stream.readUnsigned(),t.terminator=e.stream.readByte(),e.handler.app&&e.handler.app.NETSCAPE&&e.handler.app.NETSCAPE(t)}(t):function(t){t.appData=e.readSubBlocks(),e.handler.app&&e.handler.app[t.identifier]&&e.handler.app[t.identifier](t)}(t)}(t);break;default:t.extType="unknown",function(t){t.data=e.readSubBlocks(),e.handler.unknown&&e.handler.unknown(t)}(t)}},t.prototype.parseImg=function(t){t.leftPos=this.stream.readUnsigned(),t.topPos=this.stream.readUnsigned(),t.width=this.stream.readUnsigned(),t.height=this.stream.readUnsigned();var e=Opt.SuperGifUtils.byteToBitArr(this.stream.readByte());t.lctFlag=e.shift(),t.interlaced=e.shift(),t.sorted=e.shift(),t.reserved=e.splice(0,2),t.lctSize=Opt.SuperGifUtils.bitsToNum(e.splice(0,3)),t.lctFlag&&(t.lct=this.parseCT(1<<t.lctSize+1)),t.lzwMinCodeSize=this.stream.readByte();var r=this.readSubBlocks();t.pixels=Opt.SuperGifUtils.lzwDecode(t.lzwMinCodeSize,r),t.interlaced&&(t.pixels=function(t,e){for(var r=new Array(t.length),n=t.length/e,i=function(n,i){var o=t.slice(i*e,(i+1)*e);r.splice.apply(r,[n*e,e].concat(o))},o=[0,4,2,1],a=[8,8,4,2],s=0,c=0;c<4;c++)for(var l=o[c];l<n;l+=a[c])i(l,s),s++;return r}(t.pixels,t.width)),this.handler.img&&this.handler.img(t)},t.prototype.parseBlock=function(){var t={};switch(t.sentinel=this.stream.readByte(),String.fromCharCode(t.sentinel)){case"!":t.type="ext",this.parseExt(t);break;case",":t.type="img",this.parseImg(t);break;case";":t.type="eof",this.handler.eof&&this.handler.eof(t);break;default:throw new Error("Unknown block: 0x"+t.sentinel.toString(16))}"eof"!==t.type&&setTimeout(this.parseBlock.bind(this),0)},t.prototype.parse=function(){this.parseHeader(),setTimeout(this.parseBlock.bind(this),0)},t}();Spt.SuperGifParser=Tpt;var Ppt={};Object.defineProperty(Ppt,"__esModule",{value:!0});var Ipt=function(){function t(t){this.data=t,this.position=0}return t.prototype.readByte=function(){if(this.position>=this.data.length)throw new Error("Attempted to read past end of stream.");return this.data instanceof Uint8Array?this.data[this.position++]:255&this.data.charCodeAt(this.position++)},t.prototype.readBytes=function(t){for(var e=[],r=0;r<t;r++)e.push(this.readByte());return e},t.prototype.read=function(t){for(var e="",r=0;r<t;r++)e+=String.fromCharCode(this.readByte());return e},t.prototype.readUnsigned=function(){var t=this.readBytes(2);return(t[1]<<8)+t[0]},t}();Ppt.SuperGifStream=Ipt,Object.defineProperty(Ept,"__esModule",{value:!0});var Cpt=Spt,Rpt=Ppt,Dpt=function(){function t(t,e){var r=this;for(var n in this.gifImgElement=t,this.options={autoPlay:!0},this.loading=!1,this.ready=!1,this.transparency=null,this.delay=null,this.disposalMethod=null,this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,this.playing=!0,this.forward=!0,this.ctxScaled=!1,this.frames=[],this.frameOffsets=[],this.initialized=!1,this.currentFrameIndex=-1,this.iterationCount=0,this.stepping=!1,this.handler={hdr:this.withProgress(this.doHdr.bind(this)),gce:this.withProgress(this.doGCE.bind(this)),com:this.withProgress(this.doNothing.bind(this)),app:{NETSCAPE:this.withProgress(this.doNothing.bind(this))},img:this.withProgress(this.doImg.bind(this)),eof:function(){r.pushFrame(),r.canvas.width=r.hdr.width*r.getCanvasScale(),r.canvas.height=r.hdr.height*r.getCanvasScale(),r.playerInit(),r.loading=!1,r.ready=!0,r.loadCallback&&r.loadCallback(r.gifImgElement)}},e)this.options[n]=e[n];this.onEndListener=e.onEnd,this.loopDelay=e.loopDelay||0,this.overrideLoopMode=null!=e.loopMode?e.loopMode:"auto",this.drawWhileLoading=null==e.drawWhileLoading||e.drawWhileLoading}return t.prototype.init=function(){var t=this.gifImgElement.parentNode,e=document.createElement("div");this.canvas=document.createElement("canvas"),this.canvasContext=this.canvas.getContext("2d"),this.tmpCanvas=document.createElement("canvas"),e.className=this.options.enclosingClass||"super-gif",e.appendChild(this.canvas),t&&(t.insertBefore(e,this.gifImgElement),t.removeChild(this.gifImgElement)),this.initialized=!0},t.prototype.loadSetup=function(t){return!this.loading&&(t&&(this.loadCallback=t),this.loading=!0,this.frames=[],this.clear(),this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,!0)},t.prototype.completeLoop=function(){this.onEndListener&&this.onEndListener(this.gifImgElement),this.iterationCount++,!1!==this.overrideLoopMode||this.iterationCount<0?this.doStep():(this.stepping=!1,this.playing=!1)},t.prototype.doStep=function(){if(this.stepping=this.playing,this.stepping){this.stepFrame(1);var t=10*this.frames[this.currentFrameIndex].delay;t||(t=100),0===this.getNextFrameNo()?(t+=this.loopDelay,setTimeout(this.completeLoop.bind(this),t)):setTimeout(this.doStep.bind(this),t)}},t.prototype.step=function(){this.stepping||setTimeout(this.doStep.bind(this),0)},t.prototype.putFrame=function(){var t;this.currentFrameIndex=parseInt(this.currentFrameIndex.toString(),10),this.currentFrameIndex>this.frames.length-1&&(this.currentFrameIndex=0),this.currentFrameIndex<0&&(this.currentFrameIndex=0),t=this.frameOffsets[this.currentFrameIndex],this.tmpCanvas.getContext("2d").putImageData(this.frames[this.currentFrameIndex].data,t.x,t.y),this.canvasContext.globalCompositeOperation="copy",this.canvasContext.drawImage(this.tmpCanvas,0,0)},t.prototype.playerInit=function(){this.loadErrorCause||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.options.autoPlay?this.step():(this.currentFrameIndex=0,this.putFrame()))},t.prototype.clear=function(){this.transparency=null,this.delay=null,this.lastDisposalMethod=this.disposalMethod,this.disposalMethod=null,this.frame=null},t.prototype.parseStream=function(t){try{new Cpt.SuperGifParser(t,this.handler).parse()}catch(t){this.handleError("parse")}},t.prototype.setSizes=function(t,e){this.canvas.width=t*this.getCanvasScale(),this.canvas.height=e*this.getCanvasScale(),this.tmpCanvas.width=t,this.tmpCanvas.height=e,this.tmpCanvas.style.width=t+"px",this.tmpCanvas.style.height=e+"px",this.tmpCanvas.getContext("2d").setTransform(1,0,0,1,0,0)},t.prototype.drawError=function(){this.canvasContext.fillStyle="black",this.canvasContext.fillRect(0,0,this.hdr.width,this.hdr.height),this.canvasContext.strokeStyle="red",this.canvasContext.lineWidth=3,this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.hdr.width,this.hdr.height),this.canvasContext.moveTo(0,this.hdr.height),this.canvasContext.lineTo(this.hdr.width,0),this.canvasContext.stroke()},t.prototype.handleError=function(t){this.loadErrorCause=t,this.hdr={width:this.gifImgElement.width,height:this.gifImgElement.height},this.frames=[],this.drawError()},t.prototype.doHdr=function(t){this.hdr=t,this.setSizes(this.hdr.width,this.hdr.height)},t.prototype.doGCE=function(t){this.pushFrame(),this.clear(),this.transparency=t.transparencyGiven?t.transparencyIndex:null,this.delay=t.delayTime,this.disposalMethod=t.disposalMethod},t.prototype.pushFrame=function(){this.frame&&(this.frames.push({data:this.frame.getImageData(0,0,this.hdr.width,this.hdr.height),delay:this.delay}),this.frameOffsets.push({x:0,y:0}))},t.prototype.doImg=function(t){var e=this;this.frame||(this.frame=this.tmpCanvas.getContext("2d"));var r=this.frames.length,n=t.lctFlag?t.lct:this.hdr.gct;r>0&&(3===this.lastDisposalMethod?null!==this.disposalRestoreFromIdx?this.frame.putImageData(frames[this.disposalRestoreFromIdx].data,0,0):this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height):this.disposalRestoreFromIdx=r-1,2===this.lastDisposalMethod&&this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height));var i=this.frame.getImageData(t.leftPos,t.topPos,t.width,t.height);t.pixels.forEach(function(t,r){t!==e.transparency&&(i.data[4*r+0]=n[t][0],i.data[4*r+1]=n[t][1],i.data[4*r+2]=n[t][2],i.data[4*r+3]=255)}),this.frame.putImageData(i,t.leftPos,t.topPos),this.ctxScaled||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.ctxScaled=!0),this.drawWhileLoading&&(this.canvasContext.drawImage(this.tmpCanvas,0,0),this.drawWhileLoading=this.options.autoPlay),this.lastImg=t},t.prototype.doNothing=function(){},t.prototype.withProgress=function(t){return function(e){t(e)}},t.prototype.getNextFrameNo=function(){var t=this.forward?1:-1;return(this.currentFrameIndex+t+this.frames.length)%this.frames.length},t.prototype.stepFrame=function(t){this.currentFrameIndex=this.currentFrameIndex+t,this.putFrame()},t.prototype.getCanvasScale=function(){return this.options.maxWidth&&this.hdr&&this.hdr.width>this.options.maxWidth?this.options.maxWidth/this.hdr.width:window.devicePixelRatio||1},t.prototype.play=function(){this.playing=!0,this.step()},t.prototype.pause=function(){this.playing=!1},t.prototype.isPlaying=function(){return this.playing},t.prototype.getCanvas=function(){return this.canvas},t.prototype.isLoading=function(){return this.loading},t.prototype.isReady=function(){return this.ready},t.prototype.isAutoPlay=function(){return this.options.autoPlay},t.prototype.getLength=function(){return this.frames.length},t.prototype.getCurrentFrame=function(){return this.currentFrameIndex},t.prototype.moveTo=function(t){this.currentFrameIndex=t,this.putFrame()},t.prototype.loadURL=function(t,e){var r=this;if(this.loadSetup(e)){var n=new XMLHttpRequest;n.open("GET",t,!0),"overrideMimeType"in n?n.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in n?n.responseType="arraybuffer":n.setRequestHeader("Accept-Charset","x-user-defined"),n.onloadstart=function(){r.initialized||r.init()},n.onload=function(){if(200===n.status){var t=n.response;t.toString().indexOf("ArrayBuffer")>0&&(t=new Uint8Array(t));var e=new Rpt.SuperGifStream(t);setTimeout(function(){r.parseStream(e)},0)}else r.handleError("xhr - response")},n.onerror=function(){r.handleError("xhr")},n.send()}},t.prototype.load=function(t){this.loadURL(this.gifImgElement.src,t)},t}(),Lpt=Ept.SuperGif=Dpt;const jpt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"image-selector",label:"src",name:"src"},{type:"checkbox",label:"play",name:"play"}],"value-property":"src",help:"scene/component/gif-view"};class Npt extends _pt{async oncreate_element(t){var{src:e,play:r}=this.state;this.onchangesrc(e),this.onchangeplay(r)}buildImg(){var t=this.element;t.innerHTML="";var e=document.createElement("img");return e.style.width="100%",e.style.height="100%",t.appendChild(e),e}onchange(t,e){super.onchange(t,e),"src"in t&&this.onchangesrc(t.src),"play"in t&&this.onchangeplay(t.play)}setElementProperties(t){}onchangeplay(t){var e=this._superGif;e&&e.isReady()&&(t?e.play():e.pause())}onchangesrc(t){var e=this.buildImg();t||(t="data:image/gif;base64,R0lGODlhYABIAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKio+Pj5iYmKCgoKampqurq66urrCwsLGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrOzs7S0tLa2tre3t7m5ubu7u7+/v8DAwMHBwcPDw8XFxcfHx8vLy8/Pz9LS0tXV1dfX193d3eTk5Onp6fj4+Pz8/P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////yH5BAkAAPUAIf47R2VuZXJhdGVkIGJ5IGpzZ2lmIChodHRwczovL2dpdGh1Yi5jb20vYW50aW1hdHRlcjE1L2pzZ2lmLykALAAAAABgAEgAAAj+AGcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmR9VKqXMmypcuXMGPKnJkSIs2bOHPqZGlzp8+fQOv1DEq0KMyhRpMmRaq0KVCmTqPmhCq1qkyqLrFRSyYwGTVsVo1iZXmNa8Fk18ISHasSm1mDycCq/ck2JTWF1ObSfTjz7cFken3WFbow8M7BDA3rHOwXruKpfGXeTZg3qDVrUge7RRg3KLZjx+Q2HVyvLNy0QaMJjBaVdD2tZr2K/mmNIObRkR+n9AsYt0Pddg1WXppb8bWDx1CLLW74GcJnSl3TtDY8Zu2Et4tKl7n52eyWnxXvhl7+26jqrspbnlfIWjtz2gWPZV95neH8veU9NxZYfbfD3kFt99J6Bnmn0mQO9XfYezrVxxlmx0GUXIAM4hSeffsxBN1TFd5E4Ef3QZbfTg6CNJ5gHXJ3TEntLThiTh+KFCJNAqZU4kgAitjQTheepOBMNcZI0oQ6JpbTjSZtiNN2PZ400IxHpdiSc07G911M0iFZZYtAStnWilUeBGVLrlEZpmM0elmPlmfO8iOZXl4DZpsGEYmll2bSWWCXLwJXVY1+urhjoGEBSuiSah6K36CKtpZoo4s9CimielZq6aWYZqrpppx26umnoIZ6UkAAOw=="),e.src=t,e.setAttribute("rel:animated_src",t),e.setAttribute("rel:auto_play",0),this._superGif=new Lpt(e,{autoPlay:!1}),this._superGif.init();for(const t of this.element.children)t.style.width="100%",t.style.height="100%";var r=this._superGif.getCanvas();r.style.width="100%",r.style.height="100%",this._superGif.load(()=>{setTimeout(()=>{this._superGif.moveTo(0),this.play&&this._superGif.play()},100)})}ondropfile(t,e){for(let r=0;r<t.length;r++)if(/\.gif$/.test(t[r].name))return void(this.src=e[r])}get src(){return this.getState("src")}set src(t){this.set("src",t)}get play(){return this.getState("play")}set play(t){this.setState("play",t)}get nature(){return jpt}get tagName(){return"div"}}tlt.register("gif-view",Npt);const Fpt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"attachment-selector",label:"src",name:"src",property:{category:"audio"}},{type:"checkbox",label:"started",name:"started"},{type:"checkbox",label:"loop",name:"loop"}],"value-property":"src",help:"scene/component/audio"};class zpt extends(nlt(elt)){static get image(){return zpt.IMAGE||(zpt.IMAGE=new Image,zpt.IMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAMAAAC3Ycb+AAAAP1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzJYIvAAAAFHRSTlMA8BAwgNBgQKB/wCBwUJDg37CvXyUlBK8AABFYSURBVHja7NsBkqIwFIThTiAQgyBq3/+sm6p1tnamZkaTMhJJf1f4S/JeEIiIiIiIiIiIiIiIiEhD7Hg4BH84TpAKjJ4f3NFCtjVd+InXz2RTs+FXlxGylYHfcVfIJmb+YFWSLUyGVJKKBJJKUo+Rd6w63l/qzLuCkryO5fe0l2xk5mMWbe+v0fNBRqf7S3je6CipQ2ACr+dWcYEpzBFS1plpguatsnomMgdIQSOTuQ5SjmE6/UgK8szgdJIUM/FG41YlFmYJ2kkKsY5ZzAwBurHDk3WGeRY0bvYrGa1+rqNI22f7dS32ZnUK1GMr0eSK3mEc9dhKMxp+ZTo8kT2emOXS5LQ1kCxbJBocSd2k5PaIjMVzjWcdJPk9ooBnmzx1t5XbIxqBKpJ4NGTgzwKiGpK4do72gb+ZUMIYtCPm9WCPMsYTE5k2hq2ZvzujlCE1iRmwf3dvmRyKsT0T7b9I7HEPCpqCiqT2IIqaT1pI0noQZdlFC8l/PbYPAnRORT56VBEE6FXkb49agmByKhJ71BME6FsvEntUFQTdqekisUdlQWCXhovEHtUFAWbTapHYo8YgmFybO3vsUWcQYGmxSOxRbRAMprkisUfFQVKmrX18sxt7VB0ENjT1xir2qDxIwkFi3v89e+xRfxAMzfzzIfZ4hyAYDR9zwVuLPd4jCDrTwoLYGb5LEFi3/+E3rweR6urX20c/Fvls2Pvwm9mDSGIPhv8YPyGf3/eo9Ye7O8B2FIShAAooakEttex/rbODad5/yTHIAjqn505IQPv+Xz06dz+4VXORHEZcgAcB8updM8F6e25jBzwIkE07l+x8amMnPDp6nsNJ+BoZ7Q6F8egqAda9VEuRNlZjBzwYkMskdXR73okd8GBAJiKYjBcZKKqG9OiKDbgdfxJ5VhsBPDiQZhaouD3p4hfw4EAmwxisz3MSHwAPEmQ1TB1N+SmXWoAHC7JbZsWl/IxLLcCDBplNo3lrfMLsmwAPGmShAxX5/1vOEzjEz3iyfQ/hI36W4TctsUesOAifPdrQg8M++KYl95iCBkjI1r8634betBAPHZDTPFAmD3zLiHgogVTziMsahz0eIh5aIGHGRSJ2mFtHPR4iHhQIP2UvWGMf8wk74qEIEib7rLjPiBfxiAcCwp8V+Nae3uMdRhAPDIR/J5f/Q2DTcC+hIB7qIGEq3Ti9bx+sryMeAAgS70OK8G2kBD8L8QBAoLWU3g3vUVIc6D0txAMAsY+4jBWowXHO64gHBGKfYJ2T5qY1BxcL98BB+PQ+XiS9xxh9EQ8ChA6C5UXWIUoE9MBB8LVHQoS7ib8/dRn3sAcJ6bQRSdH96RDxIEH4QEX+AHF4LxHEAwUh12xyr1V8lwjiQYDYF8kuf1jluUQQDwrEvkhW8Wc6LhHUgwfhi4QPlHm7LRHawx4kpE191Dq8lgjhAYDQa1cftYrPEiE8OJDb40uqyzdQCA8WhAzL4G/PT4c3WrgHD2IfllGl53V37zsgHg5ApPNvVvq4Fn4spx4oiH1W3CwtEV+PDhEPJyBSkVX4aa7emkM83ICEKWpGM7wdvYCCeDgCEYpcwhLxczhEPFyBCEUWnRL5T6X59SBASBF+9l28TL5F7uEORCZyCUvEx+S7yT0cgoRVb9JaXLR1qUdfgksQ0fTbgmhFB20d8HAKEha14+F8f1sHPNyCiL6EqK+n20/rgIdjkFC0Ho1s6Gndvcc9ICkr/ey8/rHO6vp9KawL8DAFOV6l9Fyub7IbflsCag1qRfVsXWvxHjxIejU+BHZV6uvHD1XiEb++Bw8i+dNd+Wv0eCQmhcPhRPwUUt2DB5G1sfa1aeyzAuyJj9x2HjyIdKzIKw5SI14ieFtvo3kIQERj3lVhkUOnRD7AnjV5369QkAOJZeCH+Jh41xOLs73dQwAifY6dpxCCbjTDzLf1Bm1Y93tAIDOWXcLPvrHyr2hVoEAceEAgDQzB4jetk0/c2OXRHB48EJCpa4dgpYh2ETxtrshz7zx4ICCzfuTSDn8p/EOS9OTjwgMB+cABP3yWYuOPIofs33LigYCULlpZNXJppVU30Vf14kGAUCLijf1D71lN9FW9eFiA9KgZ8FPpPUsSnufGA+8hvAg2Kpz0nrX//qp+PIgpC3i6xJRITOye9fn1VT15ICCrVlQG5rywo0H8x965bVkNwmCYQ2kR6Gmb939WXV65dFnI/tPdjPBfO7XMN4EkTUJtqZp4sCJ1+8jwkhMu0KpMxFXFA8hlVfQSMxGH5mDK1VKV8QCyvTVtUiYyo7V358VStfGoAEFMhGYhEwloxZy9WKo2Hjwg5iSOvFDXeUYd33+PuVfHgwnEBWLocDJp+IIa2fyvperjwQRiXCKGosyXqoA+YfsIELuYu4HAt+msMknfDK4jfQJIzOZ2IPAQWJtFOhQKivR2IDZ6Awis7V0iLxqBI7uEZo19dakTogLSwKvf8yk8Jq6CGK0GKvWlatG7b7kkUU/Lo1gdXWn7/4E0j0qeJDpqN/ABqQcgJgdqURb4chjQktIugDS6wFFiz3JgaJj7AGJmholAe9YKhoZLJ0Ca6smjwJ4VwVN96gVIE5GM71kHaGKxGyAtRDaB2NBhLVmpHyANRKzDO28W7FS3HQFpaIWa8TrfCXQwegJSL5k+8M9UJ+pm9QTEnCIZrR0MDQeQ9ua0iCcYQaBTV0CqNXQW/yiyYG7W1heQanPaCkciBXuH1BkQJzHcDQxmpgGkPatl4WkbCXO/bW9AqlNg4H0PPMi6A1IxkQmOZ8D0ousNSMVEEuyreTAQ6Q7IRJeCX2YZQHhv6SrBOmpkM+YUzN0BqSRQCupmTeCP9wdkhiOREwtEzgGEsWcF9BhK9R8fQDiN7A8DiR0CKXQlj/q9IM8OgXjIzcKBlAHkD6FulgNzJwPIHwpo8mQAkX3LiPq9dKUMAQk9AqmcqmjuBAJCPQIpA4guIAsKJA0gnwNy3A4kDyBIHCEPxAwgf8gPILqA5AFEF5CxZX0lIHYc6rqADLf380BmFMgxgIzUyf8MJKLTRelKHgKy9wgkjfS7LiA0gKgC8vQn3HUA4RQ5LKPIAQciWbqIEg0YkLNDIHYUyqkCsmKN5vg3+W0AYTRATaPY+uu1IwS6UMGAlO6AFPjSCQMStaNh53cdcPG7Hx1Uupo+rx+Bltn1BuTAj5BptEV/bHAAwbnJMICwRmtUDOSEA8s4Rmtw3nITGD6TwUNoG0Ca7xi2YKSPj2eKXQFxQWKA2QbGMWEMMGseOb7C7T47uJS1JyAzVbTjqZdU3zbHzMXWS+qp4Fgn8Ahy/QCRGqQcwU1vGnN7fylboWn8Bzg//hyjxltvdcl45bwFfYKzFyBy11UU9BnjuoqfWizVlQXulpzBTNbaB5Aid+VRrkBFB630AMS9BC8FK2ggE7u/FGy1kvfcB9TKQufX5uUXNWl3EjvWCi4k/u9A3Ddq1CpTIQGe6VN1qd8ArcvDQNw3S41Kn6qQmOq5e7pRr+8fAYLiIJtFrrvYRMYL0q06vj8EZLXUriJzRY8H1xEagOCK7gkghRg6RQYO0I6aWPwIEAru80AiMWSdzAeuDXUKyr+WqpAID8hMHC1Ct8F4mUsQ6W8pJMICki0JHCBczAFdBl38G3VE6ErQhhWlih4LWrCSLpaqjggHiGe9mVjRY0YPoelyqcqIcIDEe97rqJFFH7FcLlUZEQ6Qg5plvZiBFNhtri1VFREGEC/Eg4nZoU5vqi1VFREGkIXDQ8xAIhzoT/WlKiLCAFIYPOQMxOPdjfWlKiLCADJRm3YGj+pDE2xktmmpaogwgMz8d8GrumZ4xzpbvinqISJ+hiTWm7wEqoJdI9JEV9JChAEkS3xCZzKecLcgN6YwlRBhAGmweTsblg6qKMM7Vmh321UQ4QAp1VfwhqVJIh+Wm03W0qV0EOEAybXtivkCmWrKeH2EZ/xBaSBCV2L9Re+LYSqJJIxDu1ew07U0EGEBcTtmHty4JuPtQhvLh1BAhK7Uvvq0GK484QZST0GvvFDqeSJ1IA0r2mfDljvqBoJ//rVsq7yZCA6kXgVkJ2f4ijIGMjOfMVsCBBORB2Jy+sM6ijNvaBUqmw/cStZ8EiKciHwp6Rp++88qmxXQeTUxDiJWJ9wSISvBicgXW+dypn1PqWTznlwgwdZdfiLHr5OELEAEASKvJFRE5JCPKbh8OxHdQKJU0crEzRXrJ/IEkFms6tGyrUw9kQeALFRXvK2iSzsRAAi6BLxM+60xdsqJAEBuXMAMxDLVp+gmAgC57/UT4qvVj3TVRCAgSAYL91aXtyNLzUQAIFhAiP8m0/NHOp+ILiBtPFKrs6bgSOcT0QTEB8nO3QR1yKslggKRf+m11UB0HOl8IlqAeCvauXuo8HnfIqIDyCw6G8XMcGiplMingMzCnbuHFp/3LSLPA4nUpqm5YkWNzwsQeQxIDsKjH5wVSU5qJPIJIIt4jjpqNBAekQeBfJOeHWS81FQoo4/I7UDcS3wUh0liTzLqiEgDqddx4ZHDrNZAACIAEMw88HPYWb0GAhABgEDmgf9Vb5oNBCByOxD3uqWYbCHVBgIQuRlIsbfwMEG5gQBE7gSyHMDsOayrxJvHBRC5B0hOxJH1nK4SlUE6QOR+IG6ju3iYQEqDdIDIzUDyZu/jMRHpS/OiRG4FkiPRfTw8kbrvIAJEACAIDpyHC1/GQHhEbgKSXwTyqIeEur6kixEBgABHOTr7YSX1MSFAhA0E307wUU76Y0KACAsI/tvCRzkF+iIuL0AEAYLbR2QOfvhKJ/obRESBxNt5rPSFXN4f7dyNdqMgEIbhAXWwJErT/e7/Wreb5HTT07QVgWSAeW5g7b4n8qOSUCRPEId4HP93SXp5dDNGRJFcQTxihSH+NW1Bb1cXKpIryJAwnG/zhl8ZcSP6jiKZghwRaaWLnP/AkcSKKJIniEcUs8QfjFLdEmRvkSxB4lfn0QN6DY+lshQpHiT96Dlr6r5hxRUpHST9ZEY71X7DOmOZQVZLsd5Q8wzrPxYYJDiKNqOBG1ZCkZKzrNXu6lHvkjChSFqQsdTPg45ApXtYaUXKr9TNuPcvqO2pVMkitFXAL2a79/qr3HQvVSTXUtofCl79RDXh5CDpw3pwu6+9kRlvtiI5VtPhmHLltT4EKVQkfb8pcOHrXqk6nBAksUjgpKtuYsskaxGKYT0+84uYgziE4YQgMdx0m8PRfis2MbL33PMXoVjD6PEunI4HSjDjStiJP08vQk9hZzQ7oH/geoLYCUBDW4rf4FqCDFt7THUO6B+4jiDn2XNTW7zf4hqCMND4BOsGyw+yAmh0x+QeFh7EeqD5Ce8nLDrI8NpbDyIWHIQNruo4GyAPlhrEzuixBxHLDDJMnfYgYolBricHNfjIdgMWF+Qyu+pkgX4HCwuymL57ELGkIHZG7z2IWE6Q5VV7vGMhQewbtMcZiwhyHj26ne9+xs8PcvDQHnFFqCD7Au0RW4TK+fOKqw4eoOcqYqgU53HR3/5uShFPCfKey9hFDyJO/vAi7RDZnp7X5igyUH72xSDW1E2Pn4tMRCQgR8vLwbgii4gcmLvqQcSPGtIPX3M08wn6I4qYQ94cM/Yw9Xxhmw+X/59wHrtMlX1AmIkzdyaaAnLg1Nnw8WGYSk40X/BOh4+El6LMSBnN2Cd0tPq4w/LJXGrMbCX06PZ2dcM65yzlNertShSHf3SzRAyPM332IcSAHUKPi8EHmXU0l8Uglmni0yipDoi16s+jJKejhywLooz68yiMEcHr2qM4h81CJ++VPJfTu5UwBpv4Pp9DJSi6MJx0bvUwiw4ewgT8zNR0LHUL+OccOpY/3ElzyGKD5pBlMJpDlsOkMythRoNbXh95PJsdA67MrMtAEYbjeDqNo+7oKqWUUkoppZRSSimllFJKFfMXp4vmSjB8n6sAAAAASUVORK5CYII="),zpt.IMAGE}dispose(){super.dispose(),this.started=!1,delete this._audio}ready(){super.ready(),this._audio=new Audio,this._audio.addEventListener("canplay",()=>{this.started&&this._audio.play()});var{src:t="",loop:e=!1,started:r=!1}=this.state;this.onchangeSrc(t),this.onchangeLoop(e),this.onchangeStarted(r)}render(t){var{left:e,top:r,width:n,height:i,src:o}=this.state;t.beginPath(),this.drawImage(t,zpt.image,e,r,n,i)}get nature(){return Fpt}get hasTextProperty(){return!1}get src(){return this.get("src")}set src(t){this.set("src",t)}get started(){return!!this.get("started")}set started(t){this.set("started",t)}start(){this._audio&&(this._audio.classList.add("active"),this._audio.play())}pause(){this._audio&&(this._audio.classList.remove("active"),this._audio.pause())}onchangeSrc(t){try{"data"!==String(t).substring(0,4)?this._audio.crossOrigin="use-credentials":this._audio.crossOrigin=null,this._audio.src="string"==typeof t?this.app.url(t):t}catch(t){return void console.error(t)}}onchangeStarted(t){const e=this._audio;t?4==e.readyState&&e.play():e.pause()}onchangeLoop(t){this._audio.loop=t}onchange(t,e){"src"in t&&this.onchangeSrc(t.src),"started"in t&&this.onchangeStarted(t.started),"loop"in t&&this.onchangeLoop(t.loop)}ondblclick(t){this.started=!this.started}ondropfile(t,e){for(let r=0;r<t.length;r++)if(t[r].type.startsWith("audio/"))return void(this.src=e[r])}}tlt.register("audio",zpt);class Upt extends(nlt(tlt)){is3dish(){return!0}}tlt.register("text",Upt);const Bpt=["refid","left","top","width","height","rotation","animation"];class $pt extends Kdt{isGroup(){return!0}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});var r=Bpt.reduce((e,r)=>(t.hasOwnProperty(r)&&(e[r]=t[r]),e),{});return super.set(r)}capture(t,e,r){var n=super.capture(t,e,r);if(n!==this)return n}set bounds(t){if(this.__MUTATING__)super.bounds=t;else{var e=this.bounds,r=t.width/e.width,n=t.height/e.height;this.path=this.path.map(i=>({x:t.left+(i.x-e.left)*r,y:t.top+(i.y-e.top)*n})),this.components&&this.components.forEach(t=>{if(t.mutable)t.mutatePath(null,function(t){return t.map(function(t){return{x:t.x*r,y:t.y*n}})});else{let e=t.bounds,i=t.center,o={x:i.x*(1-r),y:i.y*(1-n)},a=e.width*(1-r),s=e.height*(1-n),c=-(o.x-a/2),l=-(o.y-s/2);t.bounds={left:e.left+c,top:e.top+l,width:e.width*r,height:e.height*n}}})}}get focusible(){return!1}get bounds(){return super.bounds}get hasTextProperty(){return!1}isIdentifiable(){return!1}calculateBounds(){this.clearCache(),this.__MUTATING__=!0,this.mutateBounds(function(t){var e=tlt.union(this.components.map(t=>t.bounds));return this.components.forEach(t=>{let r=t.bounds;t.bounds={left:r.left-e.left,top:r.top-e.top,width:r.width,height:r.height}}),{left:t.left+e.left,top:t.top+e.top,width:e.width,height:e.height}},this),this.__MUTATING__=!1,this.parent.isGroup()&&this.parent.calculateBounds()}render(t){}postrender(t){var{top:e,left:r,scale:n}=this.state;t.translate(r,e),this.layout.drawables(this).forEach(e=>{e.draw(t)}),t.translate(-r,-e)}}tlt.register("group",$pt);const Ypt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"id-input",label:"ref",name:"ref"},{type:"select",label:"fit",name:"fit",property:{options:["","both","ratio"]}}],"value-property":"ref",help:"scene/component/local-ref"};class Gpt extends(nlt(elt)){get ref(){var t=this.getState("ref");return t&&"string"==typeof t?this.root.findById(t):null}set ref(t){this.setState("ref",t)}get refScale(){let t=this.ref.bounds,e=this.bounds,r=e.width/t.width,n=e.height/t.height;return"both"===this.model.fit?{x:r,y:n}:{x:Math.min(r,n),y:Math.min(r,n)}}draw(t){this._drawing||(this._drawing=!0,super.draw(t),this._drawing=!1)}prerender(t){if(super.prerender(t),this.ref){let e=this.ref.center,r=this.center,n=this.refScale;t.translate(r.x,r.y),t.scale(n.x,n.y),t.translate(-e.x,-e.y)}}postrender(t){if(this.ref)return this.ref.postrender(t);super.postrender(t)}render(t){if(this.ref)return this.ref.render(t);this.state;var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),t.rect(e,r,n,i)}get nature(){return Ypt}get hasTextProperty(){return!1}}tlt.memoize(Gpt.prototype,"ref",!1),tlt.memoize(Gpt.prototype,"refScale",!1),tlt.register("local-ref",Gpt);class Hpt extends(Wdt(Tlt)){render(t){}is3dish(){return!0}get layout(){return llt.get(this.get("layout"))||ult}}const Wpt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"scene-number",name:"ref",placeholder:"SCENE-1"},{type:"number",label:"round",name:"round",property:{min:0}},{type:"select",label:"fit",name:"fit",property:{options:["","both","ratio","width","height","none"]}},{type:"select",label:"mode",name:"mode",property:{options:["view","interaction"]}}],"value-property":"ref",help:"scene/component/global-ref"};class qpt extends Hpt{dispose(){this._releaseRef(),super.dispose()}get nature(){return Wpt}get hasTextProperty(){return!1}get tagName(){return"div"}setElementProperties(t){var{mode:e="view",round:r=0}=this.state;t.style.pointerEvents="view"==e?"none":"inherit",t.style.borderRadius=r+"px"}ready(){super.ready(),this.fetchRef()}reposition(){if(!this.element)return;super.reposition();let t=this._element_bounds,{offsetWidth:e,offsetHeight:r}=this.element;if(this._element_bounds={offsetWidth:e,offsetHeight:r},(!t||t.offsetWidth!=e||t.offsetHeight!=r)&&this.ref&&this.root.target_element){let{fit:t="ratio"}=this.state;this.ref.fit(t)}}async fetchRef(){this._releaseRef();var{ref:t,fit:e="ratio"}=this.state;if(t){var r=this.app.refProvider;if(r&&t)try{this.__ref=await r.get(t,!0),this.__ref.target=this.element,this.__ref.fit(e),this.__ref.data=this.data}catch(t){Ost(t)}}}get ref(){return this.__ref}set ref(t){this.setState("ref",t)}_releaseRef(){this.__ref&&this.__ref.release&&this.__ref.release(),delete this.__ref}onchange(t,e,r){super.onchange(t,e,r),"ref"in t&&this.fetchRef(),"fit"in t&&this.ref&&requestAnimationFrame(()=>{let{fit:t}=this.state;this.ref.fit(t)}),"data"in t&&this.ref&&requestAnimationFrame(()=>{this.ref.data=t.data})}}tlt.register("global-ref",qpt);const Vpt="center-middle",Xpt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"board",name:"board"},{type:"checkbox",label:"modal",name:"modal"},{type:"checkbox",label:"closable",name:"closable"},{type:"checkbox",label:"draggable",name:"draggable"},{type:"checkbox",label:"minimizable",name:"minimizable"},{type:"checkbox",label:"show",name:"show"},{type:"select",label:"popup-position",name:"popupPosition",property:{options:["static","absolute"]}},{type:"select",label:"popup-origin",name:"origin",property:{options:["left-top","center-top","right-top","left-middle",Vpt,"right-middle","left-bottom","center-bottom","right-bottom","auto"]}},{type:"string",label:"title",name:"text"},{type:"data",label:"value",name:"value"}],help:"scene/component/popup"};class Kpt extends(nlt(elt)){static get image(){return Kpt._image||(Kpt._image=new Image,Kpt._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAMAAABG8BK2AAADJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkM4QzQxNUMzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkM4QzQxNUQzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENjlENTQ3RjMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENjlENTQ4MDMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsiUYSQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA51BMVEVHcEwzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOguTm2AAAATHRSTlMARhB73r9B7YLrsqdE+0cq9Avzeg31eQx4aQ+Ks6aUd5DsYKixEX1w8vyT2VjoZ3YezY/cCEDvl+QTvRwJ0ifwK/5T/aw6+IuFuCImAcS6MQAAAeJJREFUWMPt2FlX2zAQhuHJYmOSFhIggbC0QNn3rS1dKXSH9///Hi58CJLxKIpEWi6YO8c5z4lG/nxGEXmu/1OVLGnhrFaSVQYg1SZetTTvUibqeFZ9QlfmvRWoV1VmCaCRzroXPpsuAjTV7gLUfPahBqD1OQMW/fazAWTKvQRI/ZgUSJR7U8CM/dHZ+/2VcatWdvdEZAaYUhiAwkerJXt0rnzXwdRKmHfDM0fHD5kxjTFyVLzVfvvirn7+cDJWjhy7c7XlYuwc6Urvu2tRhRypyhwAf1sKY+TIxfQA+H39q5wxc+RgVrcBduTmZTlj5khnDgH4IzKpMGaOVCbvyyvRGTNHGtPrKypjXirM5jb910I4k69oQeKY+77EMAcALEsck/+W6f71tyCma/ZFROTrJVwMy7wmf3bv6/MX+Dgkkysblvxps/dhOKZb6IvrTakzXXuPApnpYneDGOeKvJlaSXcDmA7AicQyW84VeTOnY+NdiWcG1uiZksFEHdyAlsJEjEkmkwGNsKHNZCJGSKtVTYC1tO022mnjwUBrMdXg8dreuOBhv7D/62/8lGZ1wLxXyZKOm+iUHIQintyny0TkaATHjYgcjeAoFpEje9R/nGPqIx2aw3NU9odCQI6e6x/VLY32cKQXVBnkAAAAAElFTkSuQmCC"),Kpt._image}ready(){super.ready(),this.show&&this.onchangeShow(!0)}render(t){var{left:e,top:r,width:n,height:i}=this.bounds;t.beginPath(),this.drawImage(t,Kpt.image,e,r,n,i)}onchange(t,e){"value"in t?this.show?this.onchangeShow(!0):this.show=!0:"show"in t&&this.onchangeShow(this.show)}onchangeShow(t){!this.app.isEditMode&&this.getState("board")&&(t?this.openPopup(this.value):this.hidePopup())}openPopup(t,e){this.app.isEditMode||ylt.show(this,this.getState("board"),{origin:this.getState("origin")||Vpt,modal:this.getState("modal"),closable:this.getState("closable")||!1,draggable:this.getState("draggable")||!1,minimizable:this.getState("minimizable")||!1,popupPosition:this.getState("popupPosition"),title:this.text,data:t||this.value,...e})}hidePopup(){ylt.hide(this)}get board(){return this.getState("board")}set board(t){this.set("board",t)}get show(){return this.getState("show")}set show(t){this.setState("show",t)}get started(){return this.getState("show")}set started(t){this.setState("show",t)}get value(){return this.getState("value")}set value(t){this.setState("value",t)}get hasTextProperty(){return!1}get nature(){return Xpt}}tlt.register("popup",Kpt);class Qpt extends tlt{render(t){var{path:e=[]}=this.state;if(!(e.length<=1)){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(let r=1;r<e.length;r++)t.lineTo(e[r].x,e[r].y);t.closePath(),this.drawStroke(t)}}get path(){return this.model.path}set path(t){this.set("path",t)}contains(t,e){var r=this.state.path,n=!1;return r.forEach((i,o)=>{let a=(o+r.length+1)%r.length,s=i.x,c=i.y,l=r[a].x,u=r[a].y;c>e!=u>e&&t<(l-s)*(e-c)/(u-c)+s&&(n=!n)}),n}}tlt.register("path",Qpt);const Jpt={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/triangle"};class Zpt extends elt{contains(t,e){var{x1:r,y1:n,x2:i,y2:o,x3:a,y3:s}=this.state,c=[r,n,i,o,a,s],l=!1;for(let r=0;r<c.length;r+=2){let n=(r+2)%c.length,i=c[r],o=c[r+1],a=c[n+1];o>e!=a>e&&t<(c[n]-i)*(e-o)/(a-o)+i&&(l=!l)}return l}get mutable(){return!0}get path(){var{x1:t,y1:e,x2:r,y2:n,x3:i,y3:o}=this.state;return[{x:t,y:e},{x:r,y:n},{x:i,y:o}]}set path(t){this.set({x1:t[0].x,y1:t[0].y,x2:t[1].x,y2:t[1].y,x3:t[2].x,y3:t[2].y})}get nature(){return Jpt}}tlt.memoize(Zpt.prototype,"path",!1),tlt.register("triangle",Zpt);const tgt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"}],help:"scene/component/donut"};var egt={ondragmove:function(t,e,r){r.controls;var{cx:n,rx:i}=r.model;i=Math.abs(i);var o=(r.fromParent(t.x,t.y).x-n)/i*100;o=o>=100||o<=-100?100:Math.abs(o),r.set({ratio:o})}};class rgt extends fpt{is3dish(){return!1}render(t){var{ratio:e=50,cx:r,cy:n,rx:i,ry:o,startAngle:a,endAngle:s,anticlockwise:c}=this.state;i=Math.abs(i),o=Math.abs(o),t.beginPath(),t.ellipse(r,n,i,o,0,a||0,s||2*Math.PI,c),t.moveTo(r+i/100*e,n),t.ellipse(r,n,i/100*e,o/100*e,0,a||0,s||2*Math.PI,!0)}contains(t,e){var{cx:r,cy:n,rx:i,ry:o,ratio:a}=this.state,s=(t-r)/(2*(i=Math.abs(i))-.5),c=(e-n)/(2*(o=Math.abs(o))-.5),l=(t-r)/(i/100*a*2-.5),u=(e-n)/(o/100*a*2-.5),h=!1;return s*s+c*c<.25&&l*l+u*u>.25&&(h=!h),h}get controls(){var{cx:t,cy:e,rx:r,ratio:n}=this.state;return[{x:t+(r=Math.abs(r))/100*n,y:e,handler:egt}]}get nature(){return tgt}}tlt.memoize(rgt.prototype,"controls",!1),tlt.register("donut",rgt);const ngt={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"},{type:"number",label:"wing",name:"wing",property:"wing"}],help:"scene/component/star"};var igt={ondragmove:function(t,e,r){r.controls;var{cy:n,ry:i}=r.model,o=(r.fromParent(t.x,t.y).y-n)/i*100+100;o>=100?o=100:o<=0&&(o=0),r.set({ratio:o})}};class ogt extends fpt{is3dish(){return!1}render(t){var{ratio:e=30,wing:r=5,cx:n,cy:i,rx:o,ry:a,startAngle:s,endAngle:c,anticlockwise:l}=this.state;if(r<3)return;const u=1.5707963267948966;var h=2*Math.PI/r,f=o-e/100*o,d=a-e/100*a;t.save(),t.beginPath(),t.translate(n,i),t.moveTo(o*Math.cos(-u),a*Math.sin(-u)),t.lineTo((o-f)*(Math.cos(h-u)+Math.cos(0-u))/2,(a-d)*(Math.sin(h-u)+Math.sin(0-u))/2);for(var p=1;p<r;p++)t.lineTo(o*Math.cos(h*p-u),a*Math.sin(h*p-u)),t.lineTo((o-f)*(Math.cos(h*(p+1)-u)+Math.cos(h*p-u))/2,(a-d)*(Math.sin(h*(p+1)-u)+Math.sin(h*p-u))/2);t.closePath(),t.restore()}get controls(){var{cx:t,cy:e,ry:r,ratio:n}=this.state;return[{x:t,y:e-r+r*(n/100),handler:igt}]}get nature(){return ngt}}tlt.memoize(ogt.prototype,"controls",!1),tlt.register("star",ogt);const agt={mutable:!1,resizable:!1,rotatable:!1,properties:[]};class sgt extends(Qlt(elt)){is3dish(){return!1}isDescendible(){return!1}render(t){const{cx:e,cy:r,anticlockwise:n}=this.state,i=this.app?.scale||1;t.beginPath(),t.scale(1/i,1/i),t.ellipse(e,r,Math.abs(sgt.RADIUS),Math.abs(sgt.RADIUS),0,0,2*Math.PI,n),t.scale(i,i),t.closePath()}get path(){var{cx:t,cy:e}=this.state;return[{x:t-sgt.RADIUS,y:e-sgt.RADIUS},{x:t+sgt.RADIUS,y:e-sgt.RADIUS},{x:t+sgt.RADIUS,y:e+sgt.RADIUS},{x:t-sgt.RADIUS,y:e+sgt.RADIUS}]}set path(t){var e=t[0],r=t[2];this.set({cx:e.x+(r.x-e.x)/2,cy:e.y+(r.y-e.y)/2})}contains(t,e){var{cx:r,cy:n}=this.state,i=(t-r)/(2*sgt.RADIUS-.5),o=(e-n)/(2*sgt.RADIUS-.5);return i*i+o*o<.25}outline(t){var{cx:e,cy:r}=this.state;return this.toScene(e,r)}get nature(){return agt}}sgt.RADIUS=5,tlt.memoize(sgt.prototype,"path",!1),tlt.register("node",sgt);var cgt=0;const lgt=new FinalizationRegistry(()=>{cgt--});var ugt={},hgt={},fgt=[];function dgt(t){var e="SCRIPT"==t.target.tagName?ugt:hgt,r=t.target.src||t.target.href;e[r]=!0,fgt.forEach((t,n)=>{let{resolve:i,scripts:o,styles:a}=t;if(e==ugt){let t=o.indexOf(r);t>-1&&t<o.length-1&&ggt(o[t+1])}for(let t=0;t<o.length;t++)if(!ugt[o[t]])return;if(a)for(let t=0;t<a.length;t++)if(!hgt[a[t]])return;i(),fgt[n]=null}),fgt=fgt.filter(Boolean)}function pgt(t){var e=t.target.src,r="SCRIPT"==t.target.tagName?ugt:hgt;fgt.forEach((n,i)=>{let{reject:o,scripts:a,styles:s}=n,c=!1;if(r===ugt){for(let t=0;t<a.length;t++)if(a[t]==e){c=!0;break}}else if(s)for(let t=0;t<s.length;t++)if(s[t]==e){c=!0;break}c&&(o(t),fgt[i]=null)}),fgt=fgt.filter(Boolean),delete r[e],document.head.removeChild(t.target)}function ggt(t){ugt[t]=!1;var e=document.createElement("script");e.onload=dgt,e.onerror=pgt,e.type="text/javascript",e.src=t,document.head.appendChild(e)}var vgt=0,ygt=performance.now(),mgt=0;requestAnimationFrame(function t(){requestAnimationFrame(t),mgt++;var e=performance.now(),r=e-ygt;r<1e3||(vgt=Math.round(1e3*mgt/r),ygt=e,mgt=0)});var bgt=Cut;t.AbsoluteLayout=mlt,t.AudioPlayer=zpt,t.CardLayout=xlt,t.Component=tlt,t.Connectable=Qlt,t.Container=Kdt,t.ContainerAbstract=Tlt,t.DEFAULT=Lst,t.DPPX=Cst,t.DataSource=t=>class extends t{_convertDataFormat(t,e){var r;if("json"===e)r=JSON.parse(t);else r=t;return r}isDataSource(){return!0}},t.Donut=rgt,t.Ellipse=fpt,t.EventMap=oft,t.FPS=function(){return vgt},t.GESTURES=Rst,t.GifView=Npt,t.GlobalRef=qpt,t.Group=$pt,t.HTMLAbsoluteLayout=ult,t.HTMLOverlayContainer=Hpt,t.HTMLOverlayElement=_pt,t.ImageView=Apt,t.InfoWindow=slt,t.KEYEVENTS=Dst,t.Layer=Plt,t.Layout=llt,t.Line=upt,t.LinearHorizontalLayout=Alt,t.LinearVerticalLayout=Elt,t.LocalRef=Gpt,t.MAX_UNDO_SIZE=30,t.MODE_ADD=3,t.MODE_EDIT=1,t.MODE_PASTE_DATABIND=5,t.MODE_PASTE_STYLE=4,t.MODE_SHIFT=2,t.MODE_VIEW=0,t.Model=bgt,t.MoveHandle=Mlt,t.NOTHING={},t.Node=sgt,t.OrthoLine=xpt,t.Path=Qpt,t.Polygon=gpt,t.Polyline=mpt,t.Popup=Kpt,t.Rect=tut,t.RectPath=nlt,t.ReferenceMap=class{static get residents(){return cgt}static get residentsCount(){return cgt}constructor(t,e){this.counters={},this.references={},this.creator=t,this.disposer=e,cgt++,lgt.register(this,cgt)}dispose(){if(this.disposer)for(let t in this.references)this.disposer.call(null,t,this.references[t]);delete this.references,delete this.counters}get ids(){return Object.keys(this.references)}create(t){var e=this;return new Promise(function(r,n){e.creator?e.creator.call(null,t,function(e){!function(e){e.release=function(){this.disposer&&this.disposer.call(null,t,e),delete e.release,Pst("RELEASED",t)},r(e)}(e)},function(t){n(t)}):n(Error("Reference id("+t+") could not be created. Reference creator should be defined."))})}add(t,e){var r=this,n=new Promise(function(n,i){var o=r.references[t];if(o)o===e?i(Error("Reference ID and target duplicate")):e?i(Error("Reference ID duplicate")):n(o);else{function a(e){e.release=function(){r.release(this)},r.references[t]=e,r.counters[t]=1,n(e)}if(e)a(e);else{if(!r.creator)return void i(Error("Reference id("+t+") is not allowed. Reference creator should be defined."));r.creator.call(null,t,function(t){a(t)},function(t){i(t)})}}});return this.references[t]||(this.references[t]=n),n}async get(t,e=!1){var r=this.references[t];if(r){if(!(r instanceof Promise)){if(!(t in this.counters))throw new Error("No Reference Count");return this.counters[t]++,r}if(e)return r=await r,this.counters[t]++,r}if(e)return await this.add(t);throw new Error("No References for "+t)}_id(t){for(let e in this.references){if(this.references[e]===t)return e}return-1}release(t){var e=this._id(t),r=this.references[e];r?(this.counters[e]--,0==this.counters[e]&&(this.disposer&&this.disposer.call(null,e,r),delete this.references[e],delete this.counters[e],delete t.release,Pst("RELEASED",e))):Ost("No Referenced ID")}},t.RootContainer=bft,t.Ruler=rut,t.SCENE_MODE={VIEW:0,EDIT:1,SHIFT:2,ADD:3},t.Scene=Rft,t.ScenePopup=ylt,t.ScriptLoader=class{static load(t,e){return"string"==typeof t&&(t=[t]),"string"==typeof e&&(e=[e]),new Promise(function(r,n){if((!t||t instanceof Array)&&(!e||e instanceof Array)){var i,o=!0;if(e&&e.forEach(t=>{hgt.hasOwnProperty(t)||function(t){hgt[t]=!1;var e=document.createElement("link");e.onload=dgt,e.onerror=pgt,e.type="text/css",e.rel="stylesheet",e.media="screen,print",e.href=t,document.head.appendChild(e)}(t),hgt[t]||(o=!1)}),t&&t.length>0&&t.forEach(t=>{ugt.hasOwnProperty(t)?ugt[t]||(o=!1):i=i||t}),i)ggt(i);else if(o)return void r(void 0);fgt.push({resolve:r,reject:n,scripts:t,styles:e})}else n("invalid sources for load")})}},t.Shape=elt,t.Star=ogt,t.TableLayout=Slt,t.Text=Upt,t.Triangle=Zpt,t.ValueHolder=t=>class extends t{animOnValueChange(t,e=!1,r){if(t!=this._lastValue){if(e)var n=t-(Number(r)||0);else n=t-(this._lastValue||0);this._lastValue=t,this._anim_alpha=-n,this.animate({step:t=>{this._anim_alpha=n*(t-1),this.invalidate()},duration:1e3,delta:"circ",options:{x:1},ease:"out"}).start()}}dispose(){super.dispose(),delete this._value_substitutor}onchange(t,e){t.hasOwnProperty("value")&&delete this._value_substitutor}get animAlpha(){return this._anim_alpha||0}get animValue(){return(this._lastValue||0)+(this._anim_alpha||0)}defaultValueSubstitutor(){return this.getState("value")}get valueSubstitutor(){return this._value_substitutor||(this._value_substitutor=Gct(this.getState("value"),this)||this.defaultValueSubstitutor),this._value_substitutor}get value(){return Number(this.valueSubstitutor())||0}set value(t){delete this._value_substitutor,this.setState("value",Number(vst(t)))}},t.create=function({target:t,model:e,style:r,layers:n=[],handlers:i=[],mode:o=0,refProvider:a,dataSubscriptionProvider:s,dataStorage:c=Dft,baseUrl:l,fitMode:u}){var h=null;if("string"==typeof t){if(!(h=document.getElementById(t)))throw`target element '${t}' is not exist`;if(h.firstChild)throw`target element '${t}' is not empty`}else h=t;h&&h.style&&(h.style.position="absolute",h.style.cursor="default",h.style.overflow="hidden");var f=new Eft(o,a);return f.baseUrl=l,f.dataSubscriptionProvider=s,f.dataStorage=c,new Rft(new bft({target_element:h,model:e,style:r,layers:n,handlers:i,fitMode:u},f))},t.debug=Pst,t.error=Ost,t.initFontFamilyWatcher=Nst,t.license=function(){},t.polyfill="done",t.sceneComponent=function(t){return function(e){return Array.isArray(t)?t.forEach(t=>{tlt.register(t,e)}):tlt.register(t,e),e}},t.updateDefaultFontFamily=jst,t.version="0.0.0",t.warn=Tst,Object.defineProperty(t,"__esModule",{value:!0})});
|
|
73
|
+
`,this.element)}catch(t){}}onchangeMinimized(){const{minimized:t}=this.state;t?this.setState("height",24):this.setState("height",this.get("height"))}}Pp=new WeakMap,La.memoize(Ip.prototype,"bounds",!0),La.register("container",Ip);const zp=Math.sqrt(3),Rp=2;function Lp(t,e,n,r,i){const s=5+i,o=n.x,a=n.y,c=r.x,l=r.y;if(Math.abs(o-c)>s&&Math.abs(a-l)>s){const n=(l-a)/(c-o),r=a-n*o;if(Math.abs(e-(n*t+r))>s)return!1}let h,u,d,p;return o>c?(u=o,h=c):(u=c,h=o),a>l?(p=a,d=l):(p=l,d=a),!(u+5<t)&&(!(h-5>t)&&(!(p+5<e)&&!(d-5>e)))}function Fp(t,e,n,r=2){for(let i=0;i<n.length-1;i++)if(Lp(t,e,n[i],n[i+1],r))return!0;return!1}function Np(t,e,n,r){if("arrow"!=t.slice(-5))return n;const i=Math.atan2(r.y-n.y,r.x-n.x),s=1.5*e;return{x:n.x+Math.cos(i)*s,y:n.y+Math.sin(i)*s}}function Bp(t,e,n){let{lineWidth:r=Rp,strokeStyle:i="#000000",lineCap:s=!1,alpha:o=1,begin:a="none",end:c="none",beginSize:l="size5",endSize:h="size5"}=n;if(("none"!=a||"none"!=c)&&(r=Number(r)||Rp,t.lineCap=s,t.lineWidth=r,t.strokeStyle=i,t.fillStyle=i,t.globalAlpha*=o,"none"!=a&&Gp(t,e[0],e[1],r,a,Yp(l,r)),"none"!=c)){const n=e.length;Gp(t,e[n-1],e[n-2],r,c,Yp(h,r))}}function Gp(t,e,n,r,i,s){const{x:o,y:a}=e,c=Math.atan2(n.y-a,n.x-o);switch(t.beginPath(),t.translate(o,a),t.rotate(c),i){case"oval":t.ellipse(0,0,s.X,s.Y,0,0,2*Math.PI),t.fill();break;case"diamond":t.moveTo(-s.X,0),t.lineTo(0,-s.Y),t.lineTo(s.X,0),t.lineTo(0,s.Y),t.fill();break;case"arrow":t.moveTo(0,0),t.lineTo(zp*s.X,-s.Y),t.lineTo(zp*s.X,s.Y),t.fill();break;case"sharp-arrow":t.moveTo(0,0),t.lineTo(zp*s.X,-s.Y),t.lineTo(-s.X/1.5+zp*s.X,0),t.lineTo(zp*s.X,s.Y),t.fill();break;case"open-arrow":t.moveTo(zp*s.X+r,-s.Y),t.lineTo(r,0),t.lineTo(zp*s.X+r,s.Y),t.stroke()}t.rotate(-c),t.translate(-o,-a),t.closePath()}function Yp(t,e){const n={X:0,Y:0};switch(e*=1.2,t){case"size1":n.X=e,n.Y=e;break;case"size2":n.X=1.5*e,n.Y=e;break;case"size3":n.X=2*e,n.Y=e;break;case"size4":n.X=e,n.Y=1.5*e;break;case"size5":default:n.X=1.5*e,n.Y=1.5*e;break;case"size6":n.X=2*e,n.Y=1.5*e;break;case"size7":n.X=e,n.Y=2*e;break;case"size8":n.X=1.5*e,n.Y=2*e;break;case"size9":n.X=2*e,n.Y=2*e}return n}const Up="N",Hp="S",Wp="E",Vp="W";class $p{constructor({component:t,anchor:e,position:n,self:r}){this.component=t,this._anchorName=e,this._position=n,this.self=r}get position(){const t=this.anchor;if(t){const{position:e}=t,n=this.component.toScene(e.x,e.y);return this.self.transcoordT2P(n.x,n.y)}return this._position}set position({x:t,y:e}){this._position={x:t,y:e}}get anchor(){return this.component?.findAnchor(this._anchorName)}get direction(){const t=this.component.bounds,e=this.anchor;if(!e)return Wp;const n=e.position;return n.y<=t.top?Up:n.y>=t.top+t.height?Hp:n.x<=t.left?Vp:Wp}get boundaryPosition(){const t=this.anchor;if(t){let{position:e}=t,n=0,r=0;switch(this.direction){case Hp:r=20;break;case Up:r=-20;break;case Vp:n=-20;break;default:n=20}e={x:e.x+n,y:e.y+r};const i=this.component.toScene(e.x,e.y);return this.self.transcoordT2P(i.x,i.y)}}}class Xp extends La{isLine(){return!0}replaceRefids(t){["from","to"].forEach(e=>{const n=this.get(e);if(n?.component){const r=t.get(n.component)||n.component;this.set(e,{...n,component:r})}})}get fromEnd(){if(this.parent&&!this._fromEnd){const{component:t,anchor:e,position:n}=this.getState("from")||{};if(!t)return;const r=this.root?.findByRefid?.(t);if(!r)return;this._fromEnd=new $p({component:r,fromto:"from",anchor:e,position:n,self:this})}return this._fromEnd}get from(){return this.getState("from")}set from(t){delete this._fromEnd,this.set("from",t)}get toEnd(){if(this.parent&&!this._toEnd){const{component:t,anchor:e,position:n}=this.getState("to")||{};if(!t)return;const r=this.root?.findByRefid?.(t);if(!r)return;this._toEnd=new $p({component:r,fromto:"to",anchor:e,position:n,self:this})}return this._toEnd}get to(){return this.getState("to")}set to(t){delete this._toEnd,this.set("to",t)}move({x:t,y:e},n){n&&(this.from={position:this._fromEnd?.position||this.getState("from")?.position||{x:0,y:0}},this.to={position:this._toEnd?.position||this.getState("to")?.position||{x:0,y:0}}),super.move({x:t,y:e})}render(t){const{begin:e="none",end:n="none",lineWidth:r,round:i=0}=this.state;let s=this.drawPath;Bp(t,s,this.state),t.beginPath();const o=Np(e,r,s[0],s[1]),a=Np(n,r,s[s.length-1],s[s.length-2]);s=[o,...s.slice(1,-1),a];let c={x:o.x,y:o.y};t.moveTo(o.x,o.y);for(let e=1;e<s.length;e++){const n=c;c=s[e];const r=s[e+1];if(n.x===c.x&&n.y===c.y)continue;if(!r){t.lineTo(c.x,c.y);break}let o=Math.sqrt((n.x-c.x)*(n.x-c.x)+(n.y-c.y)*(n.y-c.y)),a=0!==o?Math.atan2(n.x-c.x,n.y-c.y):0,l=Math.sin(a)*Math.min(i,o/2)+c.x,h=Math.cos(a)*Math.min(i,o/2)+c.y;const u=i>0||0!==o?{x:l,y:h}:c;o=Math.sqrt((r.x-c.x)*(r.x-c.x)+(r.y-c.y)*(r.y-c.y)),a=0!==o?Math.atan2(r.x-c.x,r.y-c.y):0,l=Math.sin(a)*Math.min(i,o/2)+c.x,h=Math.cos(a)*Math.min(i,o/2)+c.y;const d=i>0||0!==o?{x:l,y:h}:c;t.lineTo(u.x,u.y),i>0&&t.quadraticCurveTo(c.x,c.y,d.x,d.y)}this.drawStroke(t,void 0)}contains(t,e){const{lineWidth:n}=this.state;return Fp(t,e,this.drawPath,n)}get resizable(){return!1}get mutable(){return!0}get rotatable(){return!1}get path(){const{from:t,to:e}=this.state,{x1:n,y1:r,x2:i,y2:s}=this.state;return[this.fromEnd?.position||t?.position||{x:n,y:r},this.toEnd?.position||e?.position||{x:i,y:s}]}set path(t){const[e,n]=t,{from:r,to:i}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...r,position:e},to:{...i,position:n}})}get textBounds(){const t=this.drawPath;let e,n,r=0;for(let i=1;i<t.length;i++){const s=t[i-1],o=t[i],a=(s.x-o.x)*(s.x-o.x)+(s.y-o.y)*(s.y-o.y);a>r&&(r=Math.ceil(a),e=s,n=o)}let{paddingTop:i,paddingLeft:s,paddingRight:o,paddingBottom:a}=this.state;return a||=0,i||=0,s||=0,o||=0,{left:Math.min(e.x,n.x)+s,top:Math.min(e.y,n.y)+i,width:Math.max(Math.abs(e.x-n.x)-s-o,0),height:Math.max(Math.abs(e.y-n.y)-i-a,0)}}get decorators(){return this.app.isEditMode?["decotag"]:[]}}Xp.getTipNeckPos=Np,Xp.containedInPath=Fp,Xp.drawEndTips=Bp,La.register("line",Xp);const qp={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"angle",label:"start-angle",name:"startAngle",property:"startAngle"},{type:"angle",label:"end-angle",name:"endAngle",property:"endAngle"}],"value-property":"text"};class Kp extends(Bh(Fa)){is3dish(){return!0}render(t){const{cx:e,cy:n,rx:r,ry:i,startAngle:s,endAngle:o,anticlockwise:a}=this.state;t.beginPath(),t.ellipse(e,n,Math.abs(r),Math.abs(i),0,s||0,o||2*Math.PI,a),void 0!==s&&void 0!==o&&(t.lineTo(e,n),t.closePath())}get path(){const{cx:t,cy:e,rx:n,ry:r}=this.state;return[{x:t-n,y:e-r},{x:t+n,y:e-r},{x:t+n,y:e+r},{x:t-n,y:e+r}]}set path(t){const e=t[0],n=t[2];this.set({cx:e.x+(n.x-e.x)/2,cy:e.y+(n.y-e.y)/2,rx:(n.x-e.x)/2,ry:(n.y-e.y)/2})}contains(t,e){const{cx:n,cy:r,rx:i,ry:s}=this.state,o=(t-n)/(2*i-.5),a=(e-r)/(2*s-.5);return o*o+a*a<.25}outline(t){return function(t,e){const{cx:n,cy:r,rx:i,ry:s}=t.model,o=2*Math.PI*e,a=n+i*Math.cos(o),c=r+s*Math.sin(o);return t.toScene(a,c)}(this,t)}get anchors(){return function(t){const{left:e,top:n,width:r,height:i}=t.bounds,s=e+r/2,o=n+i/2;return[{name:"TOP",position:{x:s,y:n}},{name:"RIGHT",position:{x:e+r,y:o}},{name:"BOTTOM",position:{x:s,y:n+i}},{name:"LEFT",position:{x:e,y:o}}]}(this)}get nature(){return qp}}La.memoize(Kp.prototype,"path",!1),La.register("ellipse",Kp);const Zp={ondragstart:function(t,e,n){n.mutatePath(null,function(n){n.splice(e+1,0,t)})},ondragmove:function(t,e,n){n.mutatePath(null,function(n){n[e+1]=t})},ondragend:function(t,e,n){}},Qp={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polygon"};class Jp extends Fa{is3dish(){return!0}get mutable(){return!0}get pathExtendable(){return!0}get path(){return this.state.path}set path(t){this.set("path",t)}contains(t,e){const n=this.state.path;let r=!1;return n.forEach((i,s)=>{const o=(s+n.length+1)%n.length,a=i.x,c=i.y,l=n[o].x,h=n[o].y;c>e!=h>e&&t<(l-a)*(e-c)/(h-c)+a&&(r=!r)}),r}get controls(){const t=this.path;return t.map((e,n)=>{const r=t[n+1>=t.length?0:n+1];return{x:(e.x+r.x)/2,y:(e.y+r.y)/2,handler:Zp}})}get nature(){return Qp}}La.memoize(Jp.prototype,"controls",!1),La.register("polygon",Jp);const tf={ondragstart:function(t,e,n){n.mutatePath(null,function(n){n.splice(e,0,t)})},ondragmove:function(t,e,n){n.mutatePath(null,function(n){n[e]=t})},ondragend:function(t,e,n){}},ef={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/polyline"};class nf extends Xp{get pathExtendable(){return!0}get path(){const{from:t,to:e}=this.state,{path:n}=this.state;return[this.fromEnd?.position||t?.position||n[0],...n.slice(1,-1),this.toEnd?.position||e?.position||n[n.length-1]]}set path(t){const{from:e,to:n}=this.state;delete this._fromEnd,delete this._toEnd,this.set({from:{...e,position:t[0]},to:{...n,position:t[t.length-1]},path:t})}get controls(){const t=this.path,e=[];for(let n=0;n<t.length-1;n++){const r=t[n],i=t[n+1];0==n&&e.push({x:r.x,y:r.y,handler:tf}),e.push({x:(r.x+i.x)/2,y:(r.y+i.y)/2,handler:tf}),n==t.length-2&&e.push({x:i.x,y:i.y,handler:tf})}return e}get nature(){return ef}}La.register("polyline",nf);const rf={mutable:!1,resizable:!1,rotatable:!1,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/ortholine"};class sf extends Xp{get pathExtendable(){return!1}get drawPath(){const t=this.path[0],e=this.path[1],{component:n,direction:r,boundaryPosition:i=t}=this.fromEnd||{},{component:s,direction:o,boundaryPosition:a=e}=this.toEnd||{},c=[i,a],l=[];i&&l.push(i);let h,u=n?.bounds;u&&(h=n.toScene(u.left,u.top),h=this.transcoordT2P(h.x,h.y),u={...u,left:h.x,top:h.y});const d=u?{left:u.left-20,top:u.top-20,width:u.width+40,height:u.height+40}:{left:i.x,top:i.y,width:0,height:0};u=u||d;let p=s?.bounds;p&&(h=s.toScene(p.left,p.top),h=this.transcoordT2P(h.x,h.y),p={...p,left:h.x,top:h.y});const f=p?{left:p.left-20,top:p.top-20,width:p.width+40,height:p.height+40}:{left:a.x,top:a.y,width:0,height:0};p=p||f;const g=[d,f],m=d.left>f.left?f.left:d.left,y=d.top>f.top?f.top:d.top,b={left:m,top:y,width:d.left+d.width>f.left+f.width?d.left+d.width-m:f.left+f.width-m,height:d.top+d.height>f.top+f.height?d.top+d.height-y:f.top+f.height-y};let v,x,_,w,A,S,M,E,k,C,T=0,P=0;u.left+u.width<p.left?(w=0,A=1,k=r,C=o,v=(u.left+u.width+p.left)/2,T=p.left-v):p.left+p.width<u.left&&(w=1,A=0,k=o,C=r,v=(u.left+p.width+p.left)/2,T=u.left-v),u.top+u.height<p.top?(_=0,S=1,M=r,E=o,x=(u.top+u.height+p.top)/2,P=p.top-x):p.top+p.height<u.top&&(_=1,S=0,M=o,E=r,x=(u.top+p.height+p.top)/2,P=u.top-x);const O=[];if(v&&T>P){let t,e,n;switch(C){case Vp:switch(k){case Wp:O.push({x:v,y:c[w].y}),O.push({x:v,y:c[A].y});break;case Vp:t=g[w].top+g[w].height/2,e=t>c[A].y?Math.min(g[w].top,c[A].y):Math.max(g[w].top+g[w].height,c[A].y),O.push({x:c[w].x,y:e}),O.push({x:v,y:e}),O.push({x:v,y:c[A].y});break;case Up:case Hp:e=k===Hp?Math.max(c[w].y,c[A].y):Math.min(c[w].y,c[A].y),O.push({x:c[w].x,y:e}),O.push({x:v,y:e}),O.push({x:v,y:c[A].y});break;default:return this.path}break;case Wp:switch(k){case Wp:e=c[w].y<c[A].y?Math.min(g[A].top,c[w].y):Math.max(g[A].top+g[A].height,c[w].y),n=e;break;case Vp:e=void 0!==x?x:c[w].y<c[A].y?b.top-.5*T:b.top+b.height+.5*T,n=e;break;case Hp:e=void 0!==x?Math.max(x,c[w].y):b.top+b.height,n=e;break;case Up:e=x?Math.min(x,g[w].top):b.top,n=e;break;default:return this.path}O.push({x:c[w].x,y:e}),O.push({x:v,y:e}),O.push({x:v,y:n}),O.push({x:c[A].x,y:n});break;case Hp:switch(k){case Wp:e=c[w].y,n=c[w].y>c[A].y?c[w].y:g[A].top+g[A].height;break;case Vp:e=x?Math.max(x,g[A].top+g[A].height):b.top+b.height,n=e;break;case Hp:e=b.top+b.height,n=e;break;case Up:e=x?Math.min(x,g[w].top):g[w].top,n=x?Math.max(x,g[A].top+g[A].height):g[A].top+g[A].height;break;default:return this.path}O.push({x:c[w].x,y:e}),O.push({x:v,y:e}),O.push({x:v,y:n}),O.push({x:c[A].x,y:n});break;case Up:switch(k){case Wp:e=c[w].y,n=c[w].y<c[A].y?c[w].y:g[A].top;break;case Vp:e=x?Math.min(x,g[A].top):b.top,n=e;break;case Hp:e=void 0!==x?Math.max(x,c[w].y):c[w].y,n=void 0!==x?Math.min(x,c[A].y):c[A].y;break;case Up:e=b.top,n=e;break;default:return this.path}O.push({x:c[w].x,y:e}),O.push({x:v,y:e}),O.push({x:v,y:n}),O.push({x:c[A].x,y:n});break;default:return this.path}l.push(...0===w?O:O.reverse())}else if(x){let t,e,n;switch(E){case Up:switch(M){case Hp:O.push({x:c[_].x,y:x}),O.push({x:c[S].x,y:x});break;case Up:t=g[_].left+g[_].width/2,e=t>c[S].x?Math.min(g[_].left,c[S].x):Math.max(g[_].left+g[_].width,c[S].x),O.push({x:e,y:c[_].y}),O.push({x:e,y:x}),O.push({x:c[S].x,y:x});break;case Vp:e=Math.min(c[_].x,c[S].x),O.push({x:e,y:c[_].y}),O.push({x:e,y:x}),O.push({x:c[S].x,y:x});break;case Wp:e=Math.max(c[_].x,c[S].x),O.push({x:e,y:c[_].y}),O.push({x:e,y:x}),O.push({x:c[S].x,y:x});break;default:return this.path}break;case Hp:switch(M){case Vp:e=b.left,n=e;break;case Wp:e=void 0!==v?Math.max(v,c[_].x):b.left+b.width,n=e;break;case Up:e=void 0!==v?v:c[_].x<c[S].x?b.left-.5*P:b.left+b.width+.5*P,n=e;break;case Hp:e=c[_].x,n=c[_].x<c[S].x?Math.min(g[S].left,c[_].x):Math.max(g[S].left+g[S].width,c[_].x);break;default:return this.path}O.push({x:e,y:c[_].y}),O.push({x:e,y:x}),O.push({x:n,y:x}),O.push({x:n,y:c[S].y});break;case Wp:switch(M){case Vp:e=void 0!==v?Math.min(v,c[_].x):c[_].x,n=void 0!==v?Math.max(v,c[S].x):c[S].x;break;case Wp:e=b.left+b.width,n=e;break;case Up:e=void 0!==v?Math.max(v,c[S].x):b.left+b.width,n=e;break;case Hp:e=c[_].x,n=Math.max(g[S].left+g[S].width,c[_].x);break;default:return this.path}O.push({x:e,y:c[_].y}),O.push({x:e,y:x}),O.push({x:n,y:x}),O.push({x:n,y:c[S].y});break;case Vp:switch(M){case Vp:e=b.left,n=e;break;case Wp:e=void 0!==v?Math.max(v,c[_].x):c[_].x,n=void 0!==v?Math.min(v,c[S].x):c[S].x;break;case Up:e=b.left,n=e;break;case Hp:e=c[_].x<c[S].x?Math.min(g[S].left,c[_].x):c[_].x,n=Math.min(e,c[S].x);break;default:return this.path}O.push({x:e,y:c[_].y}),O.push({x:e,y:x}),O.push({x:n,y:x}),O.push({x:n,y:c[S].y});break;default:return this.path}l.push(...0===_?O:O.reverse())}else{let t,e;switch(r){case Up:switch(o){case Up:e=b.top,l.push({x:c[0].x,y:e}),l.push({x:c[1].x,y:e});break;case Hp:t=b.left+b.width,l.push({x:t,y:c[0].y}),l.push({x:t,y:b.top+b.height}),l.push({x:c[1].x,y:b.top+b.height});break;case Wp:t=c[1].y<c[0].y&&c[1].x<c[0].x?c[0].x:b.left+b.width,l.push({x:t,y:c[0].y}),l.push({x:t,y:c[1].y});break;case Vp:t=b.left,l.push({x:t,y:c[0].y}),l.push({x:t,y:c[1].y});break;default:return this.path}break;case Hp:switch(o){case Up:t=b.left+b.width,l.push({x:t,y:c[0].y}),l.push({x:t,y:b.top}),l.push({x:c[1].x,y:b.top});break;case Hp:case Wp:case Vp:e=b.top+b.height,l.push({x:c[0].x,y:e}),l.push({x:c[1].x,y:e});break;default:return this.path}break;case Vp:switch(o){case Up:t=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].x:b.left,e=c[0].x>c[1].x&&c[0].y<c[1].y?c[1].y:Math.min(b.top,c[0].y),l.push({x:t,y:c[0].y}),l.push({x:t,y:e}),l.push({x:c[1].x,y:e});break;case Hp:t=b.left,e=Math.max(b.top+b.height,c[0].y),l.push({x:t,y:c[0].y}),l.push({x:t,y:e}),l.push({x:c[1].x,y:e});break;case Wp:t=b.left+b.width,l.push({x:c[0].x,y:b.top}),l.push({x:t,y:b.top}),l.push({x:t,y:c[1].y});break;case Vp:t=b.left,l.push({x:t,y:c[0].y}),l.push({x:t,y:c[1].y});break;default:return this.path}break;case Wp:switch(o){case Up:e=c[0].y<c[1].y&&c[0].x<c[1].x?c[0].y:b.top,l.push({x:c[0].x,y:e}),l.push({x:c[1].x,y:e});break;case Hp:e=c[0].y>c[1].y&&c[0].x<c[1].x?c[0].y:b.top+b.height,l.push({x:c[0].x,y:e}),l.push({x:c[1].x,y:e});break;case Wp:case Vp:e=b.top+b.height,l.push({x:c[0].x,y:e}),l.push({x:c[1].x,y:e});break;default:return this.path}break;default:return this.path}}return a&&l.push(a),[t,...l,e].filter((t,e,n)=>{if(0===e)return!0;const r=n[e-1];return t.x!==r.x||t.y!==r.y}).filter((t,e,n)=>{if(0===e||e>=n.length-1)return!0;const r=n[e-1],i=n[e+1];return!(t.x===r.x&&t.x===i.x||t.y===r.y&&t.y===i.y)})}get nature(){return rf}}La.register("ortholine",sf);const of={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"image-selector",label:"image-src",name:"src",property:{displayField:"id",displayFullUrl:!0,baseUrlAlias:"$base_url",defaultStorage:"scene-image",storageFilters:{type:Array,value:[{name:"category",value:"image"}]},useUpload:!0}},{type:"select",label:"cross-origin",name:"crossOrigin",property:{options:["","anonymous","use-credentials"]}}],"value-property":"src",help:"scene/component/image-view"};class af extends(Ba(Fa)){static get noimage(){return af.NOIMAGE||(af.NOIMAGE=new Image,af.NOIMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABIBAMAAAD7Se1QAAAAIVBMVEUAAABHcEwBAQEREREBAQEEBAQGBgYLCwsDAwMDAwMICAi6HF9tAAAAC3RSTlNNAEAERiMYCS41Eac10lYAAAEgSURBVHhe7dY9asQwEAXgh7DNertNiJy48pIitY3SB7bYdk0ukL1BDDmA9gZecoH4pmFQ3MQayUMguPBrNPD4wD9TCMvJmt3M/AtYwXOlXiWgqADVCUBD46MAnGhMBaCiUQmAm8VA/Eh/eWl9Fn5WcxD+OLuRrUYJDKLluwH2InACUgkoACSdADxQc50Bytadb9RkM0CT13TcvlCT1HFg8UTHvasuUVACCa3El6u2UdD8LFTlKhUFFgA+d3dj10aABkUN72N3jAADCrJq7PIIsPidcxBoTHIIAjMFmyCwmGYIAA1P9gFgfCANAOsDSccCDW+uLDB+kLGg94OkZoAGkwsDDAe2DOg5oPxAg03rBR88OHpBz4N8UVeHFSwma74BTW6Ge4rIRa4AAAAASUVORK5CYII="),af.NOIMAGE}dispose(){super.dispose(),this._offcanvas=null,this._image=null}render(t){const{left:e,top:n,width:r,height:i,isGray:s=!1,alpha:o=1,src:a}=this.state;if(this.prepareIf(!this._image&&a),t.beginPath(),t.globalAlpha*=o,this._image&&this._image.complete)if(s&&this._offcanvas)t.drawImage(this._offcanvas,e,n,r,i);else try{t.drawImage(this._image,e,n,r,i)}catch(s){t.drawImage(af.noimage,e,n,r,i)}else!this.app.isViewMode&&t.drawImage(af.noimage,e,n,r,i)}get nature(){return of}get hasTextProperty(){return!1}async ready(){await super.ready(),this.prepareIf(!this._image&&this.state.src)}prepare(t,e){const{src:n,crossOrigin:r}=this.state;if(n){this._image=new Image;try{r&&(this._image.crossOrigin=r),this._image.src=this.app.url(n)||""}catch(t){return void e(t)}this._image.onload=()=>{if(this.get("isGray")){const t=this._image.width,e=this._image.height;this._offcanvas=La.createCanvas(t,e);const n=this._offcanvas.getContext("2d");n.drawImage(this._image,0,0);const r=function(t,e,n){let r;try{r=t.getImageData(0,0,e,n)}catch(t){return Rr("Get Image Data Error: "+(t instanceof Error?t.message:String(t))),null}const i=r.data;for(let t=0;t<e*n*4;t+=4){const e=i[t],n=i[t+1],s=i[t+2],o=Math.floor((e+n+s)/3);r.data[t]=o,r.data[t+1]=o,r.data[t+2]=o}return r}(n,t,e);n.putImageData(r,0,0)}t(this)},this._image.onerror=t=>{this._image&&!this._image.currentSrc&&(this._image=null),e(t)}}else t(this)}get src(){return this.get("src")}set src(t){this.set("src",t)}onchange(t,e){(t.hasOwnProperty("src")||t.hasOwnProperty("isGray"))&&(this._offcanvas=null,this._image=null,this.prepareIf(t.src))}ondropfile(t,e){for(let n=0;n<t.length;n++)if(t[n].type.startsWith("image/"))return void(this.src=e[n])}}La.register("image-view",af);class cf extends(Tp(Ba(La))){is3dish(){return!0}prerender(){}}var lf,hf,uf={},df={},pf={};function ff(){if(hf)return df;hf=1,Object.defineProperty(df,"__esModule",{value:!0});var t=function(){if(lf)return pf;lf=1,Object.defineProperty(pf,"__esModule",{value:!0});var t=function(){function t(){}return t.bitsToNum=function(t){return t.reduce(function(t,e){return 2*t+e},0)},t.byteToBitArr=function(t){for(var e=[],n=7;n>=0;n--)e.push(!!(t&1<<n));return e},t.lzwDecode=function(t,e){for(var n,r,i=0,s=function(t){for(var n=0,r=0;r<t;r++)e.charCodeAt(i>>3)&1<<(7&i)&&(n|=1<<r),i++;return n},o=[],a=1<<t,c=a+1,l=t+1,h=[],u=function(){h=[],l=t+1;for(var e=0;e<a;e++)h[e]=[e];h[a]=[],h[c]=null};;)if(r=n,(n=s(l))!==a){if(n===c)break;if(n<h.length)r!==a&&h.push(h[r].concat(h[n][0]));else{if(n!==h.length)throw new Error("Invalid LZW code.");h.push(h[r].concat(h[r][0]))}o.push.apply(o,h[n]),h.length===1<<l&&l<12&&l++}else u();return o},t}();return pf.SuperGifUtils=t,pf}(),e=function(){function e(t,e){this.stream=t,this.handler=e}return e.prototype.parseCT=function(t){for(var e=[],n=0;n<t;n++)e.push(this.stream.readBytes(3));return e},e.prototype.readSubBlocks=function(){var t,e;e="";do{t=this.stream.readByte(),e+=this.stream.read(t)}while(0!==t);return e},e.prototype.parseHeader=function(){var e={};if(e.sig=this.stream.read(3),e.ver=this.stream.read(3),"GIF"!==e.sig)throw new Error("Not a GIF file.");e.width=this.stream.readUnsigned(),e.height=this.stream.readUnsigned();var n=t.SuperGifUtils.byteToBitArr(this.stream.readByte());e.gctFlag=n.shift(),e.colorRes=t.SuperGifUtils.bitsToNum(n.splice(0,3)),e.sorted=n.shift(),e.gctSize=t.SuperGifUtils.bitsToNum(n.splice(0,3)),e.bgColor=this.stream.readByte(),e.pixelAspectRatio=this.stream.readByte(),e.gctFlag&&(e.gct=this.parseCT(1<<e.gctSize+1)),this.handler.hdr&&this.handler.hdr(e)},e.prototype.parseExt=function(e){var n=this;switch(e.label=this.stream.readByte(),e.label){case 249:e.extType="gce",function(e){n.stream.readByte();var r=t.SuperGifUtils.byteToBitArr(n.stream.readByte());e.reserved=r.splice(0,3),e.disposalMethod=t.SuperGifUtils.bitsToNum(r.splice(0,3)),e.userInput=r.shift(),e.transparencyGiven=r.shift(),e.delayTime=n.stream.readUnsigned(),e.transparencyIndex=n.stream.readByte(),e.terminator=n.stream.readByte(),n.handler.gce&&n.handler.gce(e)}(e);break;case 254:e.extType="com",function(t){t.comment=n.readSubBlocks(),n.handler.com&&n.handler.com(t)}(e);break;case 1:e.extType="pte",function(t){n.stream.readByte(),t.ptHeader=n.stream.readBytes(12),t.ptData=n.readSubBlocks(),n.handler.pte&&n.handler.pte(t)}(e);break;case 255:e.extType="app",function(t){n.stream.readByte(),t.identifier=n.stream.read(8),t.authCode=n.stream.read(3),"NETSCAPE"===t.identifier?function(t){n.stream.readByte(),t.unknown=n.stream.readByte(),t.iterations=n.stream.readUnsigned(),t.terminator=n.stream.readByte(),n.handler.app&&n.handler.app.NETSCAPE&&n.handler.app.NETSCAPE(t)}(t):function(t){t.appData=n.readSubBlocks(),n.handler.app&&n.handler.app[t.identifier]&&n.handler.app[t.identifier](t)}(t)}(e);break;default:e.extType="unknown",function(t){t.data=n.readSubBlocks(),n.handler.unknown&&n.handler.unknown(t)}(e)}},e.prototype.parseImg=function(e){e.leftPos=this.stream.readUnsigned(),e.topPos=this.stream.readUnsigned(),e.width=this.stream.readUnsigned(),e.height=this.stream.readUnsigned();var n=t.SuperGifUtils.byteToBitArr(this.stream.readByte());e.lctFlag=n.shift(),e.interlaced=n.shift(),e.sorted=n.shift(),e.reserved=n.splice(0,2),e.lctSize=t.SuperGifUtils.bitsToNum(n.splice(0,3)),e.lctFlag&&(e.lct=this.parseCT(1<<e.lctSize+1)),e.lzwMinCodeSize=this.stream.readByte();var r=this.readSubBlocks();e.pixels=t.SuperGifUtils.lzwDecode(e.lzwMinCodeSize,r),e.interlaced&&(e.pixels=function(t,e){for(var n=new Array(t.length),r=t.length/e,i=function(r,i){var s=t.slice(i*e,(i+1)*e);n.splice.apply(n,[r*e,e].concat(s))},s=[0,4,2,1],o=[8,8,4,2],a=0,c=0;c<4;c++)for(var l=s[c];l<r;l+=o[c])i(l,a),a++;return n}(e.pixels,e.width)),this.handler.img&&this.handler.img(e)},e.prototype.parseBlock=function(){var t={};switch(t.sentinel=this.stream.readByte(),String.fromCharCode(t.sentinel)){case"!":t.type="ext",this.parseExt(t);break;case",":t.type="img",this.parseImg(t);break;case";":t.type="eof",this.handler.eof&&this.handler.eof(t);break;default:throw new Error("Unknown block: 0x"+t.sentinel.toString(16))}"eof"!==t.type&&setTimeout(this.parseBlock.bind(this),0)},e.prototype.parse=function(){this.parseHeader(),setTimeout(this.parseBlock.bind(this),0)},e}();return df.SuperGifParser=e,df}var gf,mf,yf={};var bf=function(){if(mf)return uf;mf=1,Object.defineProperty(uf,"__esModule",{value:!0});var t=ff(),e=function(){if(gf)return yf;gf=1,Object.defineProperty(yf,"__esModule",{value:!0});var t=function(){function t(t){this.data=t,this.position=0}return t.prototype.readByte=function(){if(this.position>=this.data.length)throw new Error("Attempted to read past end of stream.");return this.data instanceof Uint8Array?this.data[this.position++]:255&this.data.charCodeAt(this.position++)},t.prototype.readBytes=function(t){for(var e=[],n=0;n<t;n++)e.push(this.readByte());return e},t.prototype.read=function(t){for(var e="",n=0;n<t;n++)e+=String.fromCharCode(this.readByte());return e},t.prototype.readUnsigned=function(){var t=this.readBytes(2);return(t[1]<<8)+t[0]},t}();return yf.SuperGifStream=t,yf}(),n=function(){function n(t,e){var n=this;for(var r in this.gifImgElement=t,this.options={autoPlay:!0},this.loading=!1,this.ready=!1,this.transparency=null,this.delay=null,this.disposalMethod=null,this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,this.playing=!0,this.forward=!0,this.ctxScaled=!1,this.frames=[],this.frameOffsets=[],this.initialized=!1,this.currentFrameIndex=-1,this.iterationCount=0,this.stepping=!1,this.handler={hdr:this.withProgress(this.doHdr.bind(this)),gce:this.withProgress(this.doGCE.bind(this)),com:this.withProgress(this.doNothing.bind(this)),app:{NETSCAPE:this.withProgress(this.doNothing.bind(this))},img:this.withProgress(this.doImg.bind(this)),eof:function(){n.pushFrame(),n.canvas.width=n.hdr.width*n.getCanvasScale(),n.canvas.height=n.hdr.height*n.getCanvasScale(),n.playerInit(),n.loading=!1,n.ready=!0,n.loadCallback&&n.loadCallback(n.gifImgElement)}},e)this.options[r]=e[r];this.onEndListener=e.onEnd,this.loopDelay=e.loopDelay||0,this.overrideLoopMode=null!=e.loopMode?e.loopMode:"auto",this.drawWhileLoading=null==e.drawWhileLoading||e.drawWhileLoading}return n.prototype.init=function(){var t=this.gifImgElement.parentNode,e=document.createElement("div");this.canvas=document.createElement("canvas"),this.canvasContext=this.canvas.getContext("2d"),this.tmpCanvas=document.createElement("canvas"),e.className=this.options.enclosingClass||"super-gif",e.appendChild(this.canvas),t&&(t.insertBefore(e,this.gifImgElement),t.removeChild(this.gifImgElement)),this.initialized=!0},n.prototype.loadSetup=function(t){return!this.loading&&(t&&(this.loadCallback=t),this.loading=!0,this.frames=[],this.clear(),this.disposalRestoreFromIdx=null,this.lastDisposalMethod=null,this.frame=null,this.lastImg=null,!0)},n.prototype.completeLoop=function(){this.onEndListener&&this.onEndListener(this.gifImgElement),this.iterationCount++,!1!==this.overrideLoopMode||this.iterationCount<0?this.doStep():(this.stepping=!1,this.playing=!1)},n.prototype.doStep=function(){if(this.stepping=this.playing,this.stepping){this.stepFrame(1);var t=10*this.frames[this.currentFrameIndex].delay;t||(t=100),0===this.getNextFrameNo()?(t+=this.loopDelay,setTimeout(this.completeLoop.bind(this),t)):setTimeout(this.doStep.bind(this),t)}},n.prototype.step=function(){this.stepping||setTimeout(this.doStep.bind(this),0)},n.prototype.putFrame=function(){var t;this.currentFrameIndex=parseInt(this.currentFrameIndex.toString(),10),this.currentFrameIndex>this.frames.length-1&&(this.currentFrameIndex=0),this.currentFrameIndex<0&&(this.currentFrameIndex=0),t=this.frameOffsets[this.currentFrameIndex],this.tmpCanvas.getContext("2d").putImageData(this.frames[this.currentFrameIndex].data,t.x,t.y),this.canvasContext.globalCompositeOperation="copy",this.canvasContext.drawImage(this.tmpCanvas,0,0)},n.prototype.playerInit=function(){this.loadErrorCause||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.options.autoPlay?this.step():(this.currentFrameIndex=0,this.putFrame()))},n.prototype.clear=function(){this.transparency=null,this.delay=null,this.lastDisposalMethod=this.disposalMethod,this.disposalMethod=null,this.frame=null},n.prototype.parseStream=function(e){try{new t.SuperGifParser(e,this.handler).parse()}catch(t){this.handleError("parse")}},n.prototype.setSizes=function(t,e){this.canvas.width=t*this.getCanvasScale(),this.canvas.height=e*this.getCanvasScale(),this.tmpCanvas.width=t,this.tmpCanvas.height=e,this.tmpCanvas.style.width=t+"px",this.tmpCanvas.style.height=e+"px",this.tmpCanvas.getContext("2d").setTransform(1,0,0,1,0,0)},n.prototype.drawError=function(){this.canvasContext.fillStyle="black",this.canvasContext.fillRect(0,0,this.hdr.width,this.hdr.height),this.canvasContext.strokeStyle="red",this.canvasContext.lineWidth=3,this.canvasContext.moveTo(0,0),this.canvasContext.lineTo(this.hdr.width,this.hdr.height),this.canvasContext.moveTo(0,this.hdr.height),this.canvasContext.lineTo(this.hdr.width,0),this.canvasContext.stroke()},n.prototype.handleError=function(t){this.loadErrorCause=t,this.hdr={width:this.gifImgElement.width,height:this.gifImgElement.height},this.frames=[],this.drawError()},n.prototype.doHdr=function(t){this.hdr=t,this.setSizes(this.hdr.width,this.hdr.height)},n.prototype.doGCE=function(t){this.pushFrame(),this.clear(),this.transparency=t.transparencyGiven?t.transparencyIndex:null,this.delay=t.delayTime,this.disposalMethod=t.disposalMethod},n.prototype.pushFrame=function(){this.frame&&(this.frames.push({data:this.frame.getImageData(0,0,this.hdr.width,this.hdr.height),delay:this.delay}),this.frameOffsets.push({x:0,y:0}))},n.prototype.doImg=function(t){var e=this;this.frame||(this.frame=this.tmpCanvas.getContext("2d"));var n=this.frames.length,r=t.lctFlag?t.lct:this.hdr.gct;n>0&&(3===this.lastDisposalMethod?null!==this.disposalRestoreFromIdx?this.frame.putImageData(frames[this.disposalRestoreFromIdx].data,0,0):this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height):this.disposalRestoreFromIdx=n-1,2===this.lastDisposalMethod&&this.frame.clearRect(this.lastImg.leftPos,this.lastImg.topPos,this.lastImg.width,this.lastImg.height));var i=this.frame.getImageData(t.leftPos,t.topPos,t.width,t.height);t.pixels.forEach(function(t,n){t!==e.transparency&&(i.data[4*n+0]=r[t][0],i.data[4*n+1]=r[t][1],i.data[4*n+2]=r[t][2],i.data[4*n+3]=255)}),this.frame.putImageData(i,t.leftPos,t.topPos),this.ctxScaled||(this.canvasContext.scale(this.getCanvasScale(),this.getCanvasScale()),this.ctxScaled=!0),this.drawWhileLoading&&(this.canvasContext.drawImage(this.tmpCanvas,0,0),this.drawWhileLoading=this.options.autoPlay),this.lastImg=t},n.prototype.doNothing=function(){},n.prototype.withProgress=function(t){return function(e){t(e)}},n.prototype.getNextFrameNo=function(){var t=this.forward?1:-1;return(this.currentFrameIndex+t+this.frames.length)%this.frames.length},n.prototype.stepFrame=function(t){this.currentFrameIndex=this.currentFrameIndex+t,this.putFrame()},n.prototype.getCanvasScale=function(){return this.options.maxWidth&&this.hdr&&this.hdr.width>this.options.maxWidth?this.options.maxWidth/this.hdr.width:window.devicePixelRatio||1},n.prototype.play=function(){this.playing=!0,this.step()},n.prototype.pause=function(){this.playing=!1},n.prototype.isPlaying=function(){return this.playing},n.prototype.getCanvas=function(){return this.canvas},n.prototype.isLoading=function(){return this.loading},n.prototype.isReady=function(){return this.ready},n.prototype.isAutoPlay=function(){return this.options.autoPlay},n.prototype.getLength=function(){return this.frames.length},n.prototype.getCurrentFrame=function(){return this.currentFrameIndex},n.prototype.moveTo=function(t){this.currentFrameIndex=t,this.putFrame()},n.prototype.loadURL=function(t,n){var r=this;if(this.loadSetup(n)){var i=new XMLHttpRequest;i.open("GET",t,!0),"overrideMimeType"in i?i.overrideMimeType("text/plain; charset=x-user-defined"):"responseType"in i?i.responseType="arraybuffer":i.setRequestHeader("Accept-Charset","x-user-defined"),i.onloadstart=function(){r.initialized||r.init()},i.onload=function(){if(200===i.status){var t=i.response;t.toString().indexOf("ArrayBuffer")>0&&(t=new Uint8Array(t));var n=new e.SuperGifStream(t);setTimeout(function(){r.parseStream(n)},0)}else r.handleError("xhr - response")},i.onerror=function(){r.handleError("xhr")},i.send()}},n.prototype.load=function(t){this.loadURL(this.gifImgElement.src,t)},n}();return uf.SuperGif=n,uf}();const vf={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"image-selector",label:"src",name:"src"},{type:"checkbox",label:"play",name:"play"}],"value-property":"src",help:"scene/component/gif-view"};class xf extends cf{async oncreate_element(t){const{src:e,play:n}=this.state;this.onchangesrc(e),this.onchangeplay(n)}buildImg(){const t=this.element;if(!t)return document.createElement("img");t.replaceChildren();const e=document.createElement("img");return e.style.width="100%",e.style.height="100%",t.appendChild(e),e}onchange(t,e){super.onchange(t,e),"src"in t&&this.onchangesrc(t.src),"play"in t&&this.onchangeplay(t.play)}setElementProperties(t){}onchangeplay(t){const e=this._superGif;e&&e.isReady()&&(t?e.play():e.pause())}onchangesrc(t){const e=this.buildImg();t||(t="data:image/gif;base64,R0lGODlhYABIAPcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKio+Pj5iYmKCgoKampqurq66urrCwsLGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrOzs7S0tLa2tre3t7m5ubu7u7+/v8DAwMHBwcPDw8XFxcfHx8vLy8/Pz9LS0tXV1dfX193d3eTk5Onp6fj4+Pz8/P7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////yH5BAkAAPUAIf47R2VuZXJhdGVkIGJ5IGpzZ2lmIChodHRwczovL2dpdGh1Yi5jb20vYW50aW1hdHRlcjE1L2pzZ2lmLykALAAAAABgAEgAAAj+AGcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmR9VKqXMmypcuXMGPKnJkSIs2bOHPqZGlzp8+fQOv1DEq0KMyhRpMmRaq0KVCmTqPmhCq1qkyqLrFRSyYwGTVsVo1iZXmNa8Fk18ISHasSm1mDycCq/ck2JTWF1ObSfTjz7cFken3WFbow8M7BDA3rHOwXruKpfGXeTZg3qDVrUge7RRg3KLZjx+Q2HVyvLNy0QaMJjBaVdD2tZr2K/mmNIObRkR+n9AsYt0Pddg1WXppb8bWDx1CLLW74GcJnSl3TtDY8Zu2Et4tKl7n52eyWnxXvhl7+26jqrspbnlfIWjtz2gWPZV95neH8veU9NxZYfbfD3kFt99J6Bnmn0mQO9XfYezrVxxlmx0GUXIAM4hSeffsxBN1TFd5E4Ef3QZbfTg6CNJ5gHXJ3TEntLThiTh+KFCJNAqZU4kgAitjQTheepOBMNcZI0oQ6JpbTjSZtiNN2PZ400IxHpdiSc07G911M0iFZZYtAStnWilUeBGVLrlEZpmM0elmPlmfO8iOZXl4DZpsGEYmll2bSWWCXLwJXVY1+urhjoGEBSuiSah6K36CKtpZoo4s9CimielZq6aWYZqrpppx26umnoIZ6UkAAOw=="),e.src=t,e.setAttribute("rel:animated_src",t),e.setAttribute("rel:auto_play",String(0)),this._superGif=new bf.SuperGif(e,{autoPlay:!1}),this._superGif.init(),this.element&&Array.from(this.element.children).forEach(t=>{t.style.width="100%",t.style.height="100%"});const n=this._superGif.getCanvas();n.style.width="100%",n.style.height="100%",this._superGif.load(()=>{setTimeout(()=>{this._superGif.moveTo(0),this.play&&this._superGif.play()},100)})}ondropfile(t,e){for(let n=0;n<t.length;n++)if(/\.gif$/.test(t[n].name))return void(this.src=e[n])}get src(){return this.getState("src")}set src(t){this.set("src",t)}get play(){return this.getState("play")}set play(t){this.setState("play",t)}get nature(){return vf}get tagName(){return"div"}}La.register("gif-view",xf);const _f={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"attachment-selector",label:"src",name:"src",property:{category:"audio"}},{type:"checkbox",label:"started",name:"started"},{type:"checkbox",label:"loop",name:"loop"}],"value-property":"src",help:"scene/component/audio"};class wf extends(Ba(Fa)){static get image(){return wf.IMAGE||(wf.IMAGE=new Image,wf.IMAGE.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAMAAAC3Ycb+AAAAP1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzJYIvAAAAFHRSTlMA8BAwgNBgQKB/wCBwUJDg37CvXyUlBK8AABFYSURBVHja7NsBkqIwFIThTiAQgyBq3/+sm6p1tnamZkaTMhJJf1f4S/JeEIiIiIiIiIiIiIiIiEhD7Hg4BH84TpAKjJ4f3NFCtjVd+InXz2RTs+FXlxGylYHfcVfIJmb+YFWSLUyGVJKKBJJKUo+Rd6w63l/qzLuCkryO5fe0l2xk5mMWbe+v0fNBRqf7S3je6CipQ2ACr+dWcYEpzBFS1plpguatsnomMgdIQSOTuQ5SjmE6/UgK8szgdJIUM/FG41YlFmYJ2kkKsY5ZzAwBurHDk3WGeRY0bvYrGa1+rqNI22f7dS32ZnUK1GMr0eSK3mEc9dhKMxp+ZTo8kT2emOXS5LQ1kCxbJBocSd2k5PaIjMVzjWcdJPk9ooBnmzx1t5XbIxqBKpJ4NGTgzwKiGpK4do72gb+ZUMIYtCPm9WCPMsYTE5k2hq2ZvzujlCE1iRmwf3dvmRyKsT0T7b9I7HEPCpqCiqT2IIqaT1pI0noQZdlFC8l/PbYPAnRORT56VBEE6FXkb49agmByKhJ71BME6FsvEntUFQTdqekisUdlQWCXhovEHtUFAWbTapHYo8YgmFybO3vsUWcQYGmxSOxRbRAMprkisUfFQVKmrX18sxt7VB0ENjT1xir2qDxIwkFi3v89e+xRfxAMzfzzIfZ4hyAYDR9zwVuLPd4jCDrTwoLYGb5LEFi3/+E3rweR6urX20c/Fvls2Pvwm9mDSGIPhv8YPyGf3/eo9Ye7O8B2FIShAAooakEttex/rbODad5/yTHIAjqn505IQPv+Xz06dz+4VXORHEZcgAcB8updM8F6e25jBzwIkE07l+x8amMnPDp6nsNJ+BoZ7Q6F8egqAda9VEuRNlZjBzwYkMskdXR73okd8GBAJiKYjBcZKKqG9OiKDbgdfxJ5VhsBPDiQZhaouD3p4hfw4EAmwxisz3MSHwAPEmQ1TB1N+SmXWoAHC7JbZsWl/IxLLcCDBplNo3lrfMLsmwAPGmShAxX5/1vOEzjEz3iyfQ/hI36W4TctsUesOAifPdrQg8M++KYl95iCBkjI1r8634betBAPHZDTPFAmD3zLiHgogVTziMsahz0eIh5aIGHGRSJ2mFtHPR4iHhQIP2UvWGMf8wk74qEIEib7rLjPiBfxiAcCwp8V+Nae3uMdRhAPDIR/J5f/Q2DTcC+hIB7qIGEq3Ti9bx+sryMeAAgS70OK8G2kBD8L8QBAoLWU3g3vUVIc6D0txAMAsY+4jBWowXHO64gHBGKfYJ2T5qY1BxcL98BB+PQ+XiS9xxh9EQ8ChA6C5UXWIUoE9MBB8LVHQoS7ib8/dRn3sAcJ6bQRSdH96RDxIEH4QEX+AHF4LxHEAwUh12xyr1V8lwjiQYDYF8kuf1jluUQQDwrEvkhW8Wc6LhHUgwfhi4QPlHm7LRHawx4kpE191Dq8lgjhAYDQa1cftYrPEiE8OJDb40uqyzdQCA8WhAzL4G/PT4c3WrgHD2IfllGl53V37zsgHg5ApPNvVvq4Fn4spx4oiH1W3CwtEV+PDhEPJyBSkVX4aa7emkM83ICEKWpGM7wdvYCCeDgCEYpcwhLxczhEPFyBCEUWnRL5T6X59SBASBF+9l28TL5F7uEORCZyCUvEx+S7yT0cgoRVb9JaXLR1qUdfgksQ0fTbgmhFB20d8HAKEha14+F8f1sHPNyCiL6EqK+n20/rgIdjkFC0Ho1s6Gndvcc9ICkr/ey8/rHO6vp9KawL8DAFOV6l9Fyub7IbflsCag1qRfVsXWvxHjxIejU+BHZV6uvHD1XiEb++Bw8i+dNd+Wv0eCQmhcPhRPwUUt2DB5G1sfa1aeyzAuyJj9x2HjyIdKzIKw5SI14ieFtvo3kIQERj3lVhkUOnRD7AnjV5369QkAOJZeCH+Jh41xOLs73dQwAifY6dpxCCbjTDzLf1Bm1Y93tAIDOWXcLPvrHyr2hVoEAceEAgDQzB4jetk0/c2OXRHB48EJCpa4dgpYh2ETxtrshz7zx4ICCzfuTSDn8p/EOS9OTjwgMB+cABP3yWYuOPIofs33LigYCULlpZNXJppVU30Vf14kGAUCLijf1D71lN9FW9eFiA9KgZ8FPpPUsSnufGA+8hvAg2Kpz0nrX//qp+PIgpC3i6xJRITOye9fn1VT15ICCrVlQG5rywo0H8x965bVkNwmCYQ2kR6Gmb939WXV65dFnI/tPdjPBfO7XMN4EkTUJtqZp4sCJ1+8jwkhMu0KpMxFXFA8hlVfQSMxGH5mDK1VKV8QCyvTVtUiYyo7V358VStfGoAEFMhGYhEwloxZy9WKo2Hjwg5iSOvFDXeUYd33+PuVfHgwnEBWLocDJp+IIa2fyvperjwQRiXCKGosyXqoA+YfsIELuYu4HAt+msMknfDK4jfQJIzOZ2IPAQWJtFOhQKivR2IDZ6Awis7V0iLxqBI7uEZo19dakTogLSwKvf8yk8Jq6CGK0GKvWlatG7b7kkUU/Lo1gdXWn7/4E0j0qeJDpqN/ABqQcgJgdqURb4chjQktIugDS6wFFiz3JgaJj7AGJmholAe9YKhoZLJ0Ca6smjwJ4VwVN96gVIE5GM71kHaGKxGyAtRDaB2NBhLVmpHyANRKzDO28W7FS3HQFpaIWa8TrfCXQwegJSL5k+8M9UJ+pm9QTEnCIZrR0MDQeQ9ua0iCcYQaBTV0CqNXQW/yiyYG7W1heQanPaCkciBXuH1BkQJzHcDQxmpgGkPatl4WkbCXO/bW9AqlNg4H0PPMi6A1IxkQmOZ8D0ousNSMVEEuyreTAQ6Q7IRJeCX2YZQHhv6SrBOmpkM+YUzN0BqSRQCupmTeCP9wdkhiOREwtEzgGEsWcF9BhK9R8fQDiN7A8DiR0CKXQlj/q9IM8OgXjIzcKBlAHkD6FulgNzJwPIHwpo8mQAkX3LiPq9dKUMAQk9AqmcqmjuBAJCPQIpA4guIAsKJA0gnwNy3A4kDyBIHCEPxAwgf8gPILqA5AFEF5CxZX0lIHYc6rqADLf380BmFMgxgIzUyf8MJKLTRelKHgKy9wgkjfS7LiA0gKgC8vQn3HUA4RQ5LKPIAQciWbqIEg0YkLNDIHYUyqkCsmKN5vg3+W0AYTRATaPY+uu1IwS6UMGAlO6AFPjSCQMStaNh53cdcPG7Hx1Uupo+rx+Bltn1BuTAj5BptEV/bHAAwbnJMICwRmtUDOSEA8s4Rmtw3nITGD6TwUNoG0Ca7xi2YKSPj2eKXQFxQWKA2QbGMWEMMGseOb7C7T47uJS1JyAzVbTjqZdU3zbHzMXWS+qp4Fgn8Ahy/QCRGqQcwU1vGnN7fylboWn8Bzg//hyjxltvdcl45bwFfYKzFyBy11UU9BnjuoqfWizVlQXulpzBTNbaB5Aid+VRrkBFB630AMS9BC8FK2ggE7u/FGy1kvfcB9TKQufX5uUXNWl3EjvWCi4k/u9A3Ddq1CpTIQGe6VN1qd8ArcvDQNw3S41Kn6qQmOq5e7pRr+8fAYLiIJtFrrvYRMYL0q06vj8EZLXUriJzRY8H1xEagOCK7gkghRg6RQYO0I6aWPwIEAru80AiMWSdzAeuDXUKyr+WqpAID8hMHC1Ct8F4mUsQ6W8pJMICki0JHCBczAFdBl38G3VE6ErQhhWlih4LWrCSLpaqjggHiGe9mVjRY0YPoelyqcqIcIDEe97rqJFFH7FcLlUZEQ6Qg5plvZiBFNhtri1VFREGEC/Eg4nZoU5vqi1VFREGkIXDQ8xAIhzoT/WlKiLCAFIYPOQMxOPdjfWlKiLCADJRm3YGj+pDE2xktmmpaogwgMz8d8GrumZ4xzpbvinqISJ+hiTWm7wEqoJdI9JEV9JChAEkS3xCZzKecLcgN6YwlRBhAGmweTsblg6qKMM7Vmh321UQ4QAp1VfwhqVJIh+Wm03W0qV0EOEAybXtivkCmWrKeH2EZ/xBaSBCV2L9Re+LYSqJJIxDu1ew07U0EGEBcTtmHty4JuPtQhvLh1BAhK7Uvvq0GK484QZST0GvvFDqeSJ1IA0r2mfDljvqBoJ//rVsq7yZCA6kXgVkJ2f4ijIGMjOfMVsCBBORB2Jy+sM6ijNvaBUqmw/cStZ8EiKciHwp6Rp++88qmxXQeTUxDiJWJ9wSISvBicgXW+dypn1PqWTznlwgwdZdfiLHr5OELEAEASKvJFRE5JCPKbh8OxHdQKJU0crEzRXrJ/IEkFms6tGyrUw9kQeALFRXvK2iSzsRAAi6BLxM+60xdsqJAEBuXMAMxDLVp+gmAgC57/UT4qvVj3TVRCAgSAYL91aXtyNLzUQAIFhAiP8m0/NHOp+ILiBtPFKrs6bgSOcT0QTEB8nO3QR1yKslggKRf+m11UB0HOl8IlqAeCvauXuo8HnfIqIDyCw6G8XMcGiplMingMzCnbuHFp/3LSLPA4nUpqm5YkWNzwsQeQxIDsKjH5wVSU5qJPIJIIt4jjpqNBAekQeBfJOeHWS81FQoo4/I7UDcS3wUh0liTzLqiEgDqddx4ZHDrNZAACIAEMw88HPYWb0GAhABgEDmgf9Vb5oNBCByOxD3uqWYbCHVBgIQuRlIsbfwMEG5gQBE7gSyHMDsOayrxJvHBRC5B0hOxJH1nK4SlUE6QOR+IG6ju3iYQEqDdIDIzUDyZu/jMRHpS/OiRG4FkiPRfTw8kbrvIAJEACAIDpyHC1/GQHhEbgKSXwTyqIeEur6kixEBgABHOTr7YSX1MSFAhA0E307wUU76Y0KACAsI/tvCRzkF+iIuL0AEAYLbR2QOfvhKJ/obRESBxNt5rPSFXN4f7dyNdqMgEIbhAXWwJErT/e7/Wreb5HTT07QVgWSAeW5g7b4n8qOSUCRPEId4HP93SXp5dDNGRJFcQTxihSH+NW1Bb1cXKpIryJAwnG/zhl8ZcSP6jiKZghwRaaWLnP/AkcSKKJIniEcUs8QfjFLdEmRvkSxB4lfn0QN6DY+lshQpHiT96Dlr6r5hxRUpHST9ZEY71X7DOmOZQVZLsd5Q8wzrPxYYJDiKNqOBG1ZCkZKzrNXu6lHvkjChSFqQsdTPg45ApXtYaUXKr9TNuPcvqO2pVMkitFXAL2a79/qr3HQvVSTXUtofCl79RDXh5CDpw3pwu6+9kRlvtiI5VtPhmHLltT4EKVQkfb8pcOHrXqk6nBAksUjgpKtuYsskaxGKYT0+84uYgziE4YQgMdx0m8PRfis2MbL33PMXoVjD6PEunI4HSjDjStiJP08vQk9hZzQ7oH/geoLYCUBDW4rf4FqCDFt7THUO6B+4jiDn2XNTW7zf4hqCMND4BOsGyw+yAmh0x+QeFh7EeqD5Ce8nLDrI8NpbDyIWHIQNruo4GyAPlhrEzuixBxHLDDJMnfYgYolBricHNfjIdgMWF+Qyu+pkgX4HCwuymL57ELGkIHZG7z2IWE6Q5VV7vGMhQewbtMcZiwhyHj26ne9+xs8PcvDQHnFFqCD7Au0RW4TK+fOKqw4eoOcqYqgU53HR3/5uShFPCfKey9hFDyJO/vAi7RDZnp7X5igyUH72xSDW1E2Pn4tMRCQgR8vLwbgii4gcmLvqQcSPGtIPX3M08wn6I4qYQ94cM/Yw9Xxhmw+X/59wHrtMlX1AmIkzdyaaAnLg1Nnw8WGYSk40X/BOh4+El6LMSBnN2Cd0tPq4w/LJXGrMbCX06PZ2dcM65yzlNertShSHf3SzRAyPM332IcSAHUKPi8EHmXU0l8Uglmni0yipDoi16s+jJKejhywLooz68yiMEcHr2qM4h81CJ++VPJfTu5UwBpv4Pp9DJSi6MJx0bvUwiw4ewgT8zNR0LHUL+OccOpY/3ElzyGKD5pBlMJpDlsOkMythRoNbXh95PJsdA67MrMtAEYbjeDqNo+7oKqWUUkoppZRSSimllFJKFfMXp4vmSjB8n6sAAAAASUVORK5CYII="),wf.IMAGE}dispose(){super.dispose(),this.started=!1,delete this._audio}async ready(){super.ready(),this._audio=new Audio,this._audio.addEventListener("canplay",()=>{this.started&&this._audio.play()});const{src:t="",loop:e=!1,started:n=!1}=this.state;this.onchangeSrc(t),this.onchangeLoop(e),this.onchangeStarted(n)}render(t){const{left:e,top:n,width:r,height:i}=this.state;t.beginPath(),this.drawImage(t,wf.image,e,n,r,i)}get nature(){return _f}get hasTextProperty(){return!1}get src(){return this.get("src")}set src(t){this.set("src",t)}get started(){return!!this.get("started")}set started(t){this.set("started",t)}start(){this._audio&&(this._audio.classList.add("active"),this._audio.play())}pause(){this._audio&&(this._audio.classList.remove("active"),this._audio.pause())}onchangeSrc(t){try{"data"!==String(t).substring(0,4)?this._audio.crossOrigin="use-credentials":this._audio.crossOrigin=null,this._audio.src="string"==typeof t?this.app.url(t):t}catch(t){return void Rr(t)}}onchangeStarted(t){const e=this._audio;t?4==e.readyState&&e.play():e.pause()}onchangeLoop(t){this._audio.loop=t}onchange(t,e){"src"in t&&this.onchangeSrc(t.src),"started"in t&&this.onchangeStarted(t.started),"loop"in t&&this.onchangeLoop(t.loop)}ondblclick(t){this.started=!this.started}ondropfile(t,e){for(let n=0;n<t.length;n++)if(t[n].type.startsWith("audio/"))return void(this.src=e[n])}}La.register("audio",wf);class Af extends(Ba(La)){is3dish(){return!0}}La.register("text",Af);const Sf=["refid","left","top","width","height","rotation","animation"];class Mf extends Ip{isGroup(){return!0}get(t){return this._model[t]}set(t,e){if("string"==typeof t)return this.set({[t]:e});const n=Sf.reduce((e,n)=>(t.hasOwnProperty(n)&&(e[n]=t[n]),e),{});return super.set(n,void 0)}capture(t,e,n){const r=super.capture(t,e,n);if(r!==this)return r}set bounds(t){if(this.__MUTATING__)return void(super.bounds=t);const e=this.bounds,n=t.width/e.width,r=t.height/e.height;this.path=this.path.map(i=>({x:t.left+(i.x-e.left)*n,y:t.top+(i.y-e.top)*r})),this.components&&this.components.forEach(t=>{if(t.mutable)t.mutatePath(null,function(t){return t.map(function(t){return{x:t.x*n,y:t.y*r}})});else{const e=t.bounds,i=t.center,s={x:i.x*(1-n),y:i.y*(1-r)},o=e.width*(1-n),a=e.height*(1-r),c=-(s.x-o/2),l=-(s.y-a/2);t.bounds={left:e.left+c,top:e.top+l,width:e.width*n,height:e.height*r}}})}get focusible(){return!1}get bounds(){return super.bounds}get hasTextProperty(){return!1}isIdentifiable(){return!1}calculateBounds(){this.clearCache(),this.__MUTATING__=!0,this.mutateBounds(function(t){const e=La.union(this.components.map(t=>t.bounds));return this.components.forEach(t=>{const n=t.bounds;t.bounds={left:n.left-e.left,top:n.top-e.top,width:n.width,height:n.height}}),{left:t.left+e.left,top:t.top+e.top,width:e.width,height:e.height}},this),this.__MUTATING__=!1,this.parent.isGroup()&&this.parent.calculateBounds?.()}render(t){}postrender(t){const{top:e,left:n}=this.state;t.translate(n,e),this.layout.drawables(this).forEach(e=>{e.draw(t)}),t.translate(-n,-e)}}La.memoize(Mf.prototype,"bounds",!0),La.register("group",Mf);const Ef={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"id-input",label:"ref",name:"ref"},{type:"select",label:"fit",name:"fit",property:{options:["","both","ratio"]}}],"value-property":"ref",help:"scene/component/local-ref"};class kf extends(Ba(Fa)){get ref(){const t=this.getState("ref");return t&&"string"==typeof t?this.root.findById?.(t):null}set ref(t){this.setState("ref",t)}get refScale(){const t=this.ref;if(!t)return{x:1,y:1};const e=t.bounds,n=this.bounds,r=n.width/e.width,i=n.height/e.height;return"both"===this.model.fit?{x:r,y:i}:{x:Math.min(r,i),y:Math.min(r,i)}}draw(t){this._drawing||(this._drawing=!0,super.draw(t),this._drawing=!1)}prerender(t){if(super.prerender(t),this.ref){const e=this.ref.center,n=this.center,r=this.refScale;t.translate(n.x,n.y),t.scale(r.x,r.y),t.translate(-e.x,-e.y)}}postrender(t){if(this.ref)return this.ref.postrender(t);super.postrender(t)}render(t){if(this.ref)return this.ref.render(t);const{left:e,top:n,width:r,height:i}=this.bounds;t.beginPath(),t.rect(e,n,r,i)}get nature(){return Ef}get hasTextProperty(){return!1}}La.memoize(kf.prototype,"ref",!1),La.memoize(kf.prototype,"refScale",!1),La.register("local-ref",kf);class Cf extends(Tp(pc)){render(t){}is3dish(){return!0}get layout(){return Va.get(this.get("layout"))||$a}}const Tf={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"scene-number",name:"ref",placeholder:"SCENE-1"},{type:"number",label:"round",name:"round",property:{min:0}},{type:"select",label:"fit",name:"fit",property:{options:["","both","ratio","width","height","none"]}},{type:"select",label:"mode",name:"mode",property:{options:["view","interaction"]}}],"value-property":"ref",help:"scene/component/global-ref"};class Pf extends Cf{dispose(){this._releaseRef(),super.dispose()}get nature(){return Tf}get hasTextProperty(){return!1}get tagName(){return"div"}setElementProperties(t){const{mode:e="view",round:n=0}=this.state;t.style.pointerEvents="view"==e?"none":"inherit",t.style.borderRadius=n+"px"}async ready(){super.ready(),this.fetchRef()}reposition(){if(!this.element)return;super.reposition();const t=this._element_bounds,{offsetWidth:e,offsetHeight:n}=this.element;if(this._element_bounds={offsetWidth:e,offsetHeight:n},(!t||t.offsetWidth!=e||t.offsetHeight!=n)&&this.ref&&this.root.target_element){const{fit:t="ratio"}=this.state;this.ref.fit(t)}}async fetchRef(){this._releaseRef();const{ref:t,fit:e="ratio"}=this.state;if(!t)return;const n=this.app.refProvider;if(n&&t)try{this.__ref=await n.get(t,!0),this.__ref.target=this.element,this.__ref.fit(e),this.__ref.data=this.data}catch(t){Rr(t)}}get ref(){return this.__ref}set ref(t){this.setState("ref",t)}_releaseRef(){this.__ref&&this.__ref.release&&this.__ref.release(),delete this.__ref}onchange(t,e,n){super.onchange(t,e),"ref"in t&&this.fetchRef(),"fit"in t&&this.ref&&requestAnimationFrame(()=>{const{fit:t}=this.state;this.ref.fit(t)}),"data"in t&&this.ref&&requestAnimationFrame(()=>{this.ref.data=t.data})}}La.register("global-ref",Pf);const Of="center-middle",Df={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"board-selector",label:"board",name:"board"},{type:"checkbox",label:"modal",name:"modal"},{type:"checkbox",label:"closable",name:"closable"},{type:"checkbox",label:"draggable",name:"draggable"},{type:"checkbox",label:"minimizable",name:"minimizable"},{type:"checkbox",label:"show",name:"show"},{type:"select",label:"popup-position",name:"popupPosition",property:{options:["static","absolute"]}},{type:"select",label:"popup-origin",name:"origin",property:{options:["left-top","center-top","right-top","left-middle",Of,"right-middle","left-bottom","center-bottom","right-bottom","auto"]}},{type:"string",label:"title",name:"text"},{type:"data",label:"value",name:"value"}],help:"scene/component/popup"};class jf extends(Ba(Fa)){static get image(){return jf._image||(jf._image=new Image,jf._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAMAAABG8BK2AAADJmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNy4xLWMwMDAgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIzLjAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkM4QzQxNUMzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkM4QzQxNUQzMzBEMTFFQ0JEMzZDMDUwQUI4MEI3QTAiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENjlENTQ3RjMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpENjlENTQ4MDMzMDkxMUVDQkQzNkMwNTBBQjgwQjdBMCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsiUYSQAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA51BMVEVHcEwzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzOguTm2AAAATHRSTlMARhB73r9B7YLrsqdE+0cq9Avzeg31eQx4aQ+Ks6aUd5DsYKixEX1w8vyT2VjoZ3YezY/cCEDvl+QTvRwJ0ifwK/5T/aw6+IuFuCImAcS6MQAAAeJJREFUWMPt2FlX2zAQhuHJYmOSFhIggbC0QNn3rS1dKXSH9///Hi58CJLxKIpEWi6YO8c5z4lG/nxGEXmu/1OVLGnhrFaSVQYg1SZetTTvUibqeFZ9QlfmvRWoV1VmCaCRzroXPpsuAjTV7gLUfPahBqD1OQMW/fazAWTKvQRI/ZgUSJR7U8CM/dHZ+/2VcatWdvdEZAaYUhiAwkerJXt0rnzXwdRKmHfDM0fHD5kxjTFyVLzVfvvirn7+cDJWjhy7c7XlYuwc6Urvu2tRhRypyhwAf1sKY+TIxfQA+H39q5wxc+RgVrcBduTmZTlj5khnDgH4IzKpMGaOVCbvyyvRGTNHGtPrKypjXirM5jb910I4k69oQeKY+77EMAcALEsck/+W6f71tyCma/ZFROTrJVwMy7wmf3bv6/MX+Dgkkysblvxps/dhOKZb6IvrTakzXXuPApnpYneDGOeKvJlaSXcDmA7AicQyW84VeTOnY+NdiWcG1uiZksFEHdyAlsJEjEkmkwGNsKHNZCJGSKtVTYC1tO022mnjwUBrMdXg8dreuOBhv7D/62/8lGZ1wLxXyZKOm+iUHIQintyny0TkaATHjYgcjeAoFpEje9R/nGPqIx2aw3NU9odCQI6e6x/VLY32cKQXVBnkAAAAAElFTkSuQmCC"),jf._image}async ready(){await super.ready(),this.show&&this.onchangeShow(!0)}render(t){const{left:e,top:n,width:r,height:i}=this.bounds;t.beginPath(),this.drawImage(t,jf.image,e,n,r,i)}onchange(t,e){"value"in t?this.show?this.onchangeShow(!0):this.show=!0:"show"in t&&this.onchangeShow(this.show)}onchangeShow(t){!this.app.isEditMode&&this.getState("board")&&(t?this.openPopup(this.value):this.hidePopup())}openPopup(t,e){this.app.isEditMode||lc.show(this,this.getState("board"),{origin:this.getState("origin")||Of,modal:this.getState("modal"),closable:this.getState("closable")||!1,draggable:this.getState("draggable")||!1,minimizable:this.getState("minimizable")||!1,popupPosition:this.getState("popupPosition"),title:this.text,data:t||this.value,...e})}hidePopup(){lc.hide(this)}get board(){return this.getState("board")}set board(t){this.set("board",t)}get show(){return this.getState("show")}set show(t){this.setState("show",t)}get started(){return this.getState("show")}set started(t){this.setState("show",t)}get value(){return this.getState("value")}set value(t){this.setState("value",t)}get hasTextProperty(){return!1}get nature(){return Df}}La.register("popup",jf);class If extends La{render(t){const{path:e=[]}=this.state;if(!(e.length<=1)){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(let n=1;n<e.length;n++)t.lineTo(e[n].x,e[n].y);t.closePath(),this.drawStroke(t,void 0)}}get path(){return this.model.path}set path(t){this.set("path",t)}contains(t,e){const n=this.state.path;let r=!1;return n.forEach((i,s)=>{const o=(s+n.length+1)%n.length,a=i.x,c=i.y,l=n[o].x,h=n[o].y;c>e!=h>e&&t<(l-a)*(e-c)/(h-c)+a&&(r=!r)}),r}}La.register("path",If);const zf={mutable:!0,resizable:!1,rotatable:!0,properties:[{type:"number",label:"round",name:"round",property:{min:0,max:100,step:1}}],help:"scene/component/triangle"};class Rf extends Fa{is3dish(){return!0}contains(t,e){const{x1:n,y1:r,x2:i,y2:s,x3:o,y3:a}=this.state,c=[n,r,i,s,o,a];let l=!1;for(let n=0;n<c.length;n+=2){const r=(n+2)%c.length,i=c[n],s=c[n+1],o=c[r+1];s>e!=o>e&&t<(c[r]-i)*(e-s)/(o-s)+i&&(l=!l)}return l}get mutable(){return!0}get path(){const{x1:t,y1:e,x2:n,y2:r,x3:i,y3:s}=this.state;return[{x:t,y:e},{x:n,y:r},{x:i,y:s}]}set path(t){this.set({x1:t[0].x,y1:t[0].y,x2:t[1].x,y2:t[1].y,x3:t[2].x,y3:t[2].y})}get nature(){return zf}}La.memoize(Rf.prototype,"path",!1),La.register("triangle",Rf);const Lf={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"}],help:"scene/component/donut"},Ff={ondragmove:function(t,e,n){let{cx:r,rx:i}=n.model;i=Math.abs(i);let s=(n.fromParent(t.x,t.y).x-r)/i*100;s=s>=100||s<=-100?100:Math.abs(s),n.set({ratio:s})}};class Nf extends Kp{is3dish(){return!0}render(t){let{ratio:e=50,cx:n,cy:r,rx:i,ry:s,startAngle:o,endAngle:a,anticlockwise:c}=this.state;i=Math.abs(i),s=Math.abs(s),t.beginPath(),t.ellipse(n,r,i,s,0,o||0,a||2*Math.PI,c),t.moveTo(n+i/100*e,r),t.ellipse(n,r,i/100*e,s/100*e,0,o||0,a||2*Math.PI,!0)}contains(t,e){let{cx:n,cy:r,rx:i,ry:s,ratio:o}=this.state;i=Math.abs(i),s=Math.abs(s);const a=(t-n)/(2*i-.5),c=(e-r)/(2*s-.5),l=(t-n)/(i/100*o*2-.5),h=(e-r)/(s/100*o*2-.5);let u=!1;return a*a+c*c<.25&&l*l+h*h>.25&&(u=!u),u}get controls(){let{cx:t,cy:e,rx:n,ratio:r}=this.state;return n=Math.abs(n),[{x:t+n/100*r,y:e,handler:Ff}]}get nature(){return Lf}}La.memoize(Nf.prototype,"controls",!1),La.register("donut",Nf);const Bf={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"ratio",name:"ratio",property:"ratio"},{type:"number",label:"wing",name:"wing",property:"wing"}],help:"scene/component/star"},Gf={ondragmove:function(t,e,n){const{cy:r,ry:i}=n.model;let s=(n.fromParent(t.x,t.y).y-r)/i*100+100;s>=100?s=100:s<=0&&(s=0),n.set({ratio:s})}};class Yf extends Kp{is3dish(){return!0}render(t){const{ratio:e=30,wing:n=5,cx:r,cy:i,rx:s,ry:o}=this.state;if(n<3)return;const a=1.5707963267948966,c=2*Math.PI/n,l=s-e/100*s,h=o-e/100*o;t.save(),t.beginPath(),t.translate(r,i),t.moveTo(s*Math.cos(-a),o*Math.sin(-a)),t.lineTo((s-l)*(Math.cos(c-a)+Math.cos(0-a))/2,(o-h)*(Math.sin(c-a)+Math.sin(0-a))/2);for(let e=1;e<n;e++)t.lineTo(s*Math.cos(c*e-a),o*Math.sin(c*e-a)),t.lineTo((s-l)*(Math.cos(c*(e+1)-a)+Math.cos(c*e-a))/2,(o-h)*(Math.sin(c*(e+1)-a)+Math.sin(c*e-a))/2);t.closePath(),t.restore()}get controls(){const{cx:t,cy:e,ry:n,ratio:r}=this.state;return[{x:t,y:e-n+n*(r/100),handler:Gf}]}get nature(){return Bf}}La.memoize(Yf.prototype,"controls",!1),La.register("star",Yf);const Uf={mutable:!1,resizable:!1,rotatable:!1,properties:[]};class Hf extends(Bh(Fa)){is3dish(){return!1}isDescendible(){return!1}render(t){const{cx:e,cy:n,anticlockwise:r}=this.state,i=this.app?.scale||1;t.beginPath(),t.scale(1/i,1/i),t.ellipse(e,n,Math.abs(Hf.RADIUS),Math.abs(Hf.RADIUS),0,0,2*Math.PI,r),t.scale(i,i),t.closePath()}get path(){const{cx:t,cy:e}=this.state;return[{x:t-Hf.RADIUS,y:e-Hf.RADIUS},{x:t+Hf.RADIUS,y:e-Hf.RADIUS},{x:t+Hf.RADIUS,y:e+Hf.RADIUS},{x:t-Hf.RADIUS,y:e+Hf.RADIUS}]}set path(t){const e=t[0],n=t[2];this.set({cx:e.x+(n.x-e.x)/2,cy:e.y+(n.y-e.y)/2})}contains(t,e){const{cx:n,cy:r}=this.state,i=(t-n)/(2*Hf.RADIUS-.5),s=(e-r)/(2*Hf.RADIUS-.5);return i*i+s*s<.25}outline(t){const{cx:e,cy:n}=this.state;return this.toScene(e,n)}get nature(){return Uf}}function Wf(t){return class extends t{animOnValueChange(t,e=!1,n){if(t==this._lastValue)return;let r;r=e?t-(Number(n)||0):t-(this._lastValue||0),this._lastValue=t,this._anim_alpha=-r,this.animate({step:t=>{this._anim_alpha=r*(t-1),this.invalidate()},duration:1e3,delta:"circ",options:{x:1},ease:"out"}).start()}dispose(){super.dispose(),delete this._value_substitutor}onchange(t,e){t.hasOwnProperty("value")&&delete this._value_substitutor}get animAlpha(){return this._anim_alpha||0}get animValue(){return(this._lastValue||0)+(this._anim_alpha||0)}defaultValueSubstitutor(){return this.getState("value")}get valueSubstitutor(){return this._value_substitutor||(this._value_substitutor=gs(this.getState("value"),this,void 0)||this.defaultValueSubstitutor),this._value_substitutor}get value(){return Number(this.valueSubstitutor())||0}set value(t){delete this._value_substitutor,this.setState("value",Number(or(t)))}}}function Vf(t){return class extends t{_convertDataFormat(t,e){let n;if("json"===e)n=JSON.parse(t);else n=t;return n}isDataSource(){return!0}}}function $f(t){return function(e){return Array.isArray(t)?t.forEach(t=>{La.register(t,e)}):La.register(t,e),e}}Hf.RADIUS=5,La.memoize(Hf.prototype,"path",!1),La.register("node",Hf);let Xf=0;const qf=new FinalizationRegistry(()=>{Xf--});class Kf{static get residents(){return Xf}static get residentsCount(){return Xf}constructor(t,e){this.counters={},this.references={},this.creator=t,this.disposer=e,Xf++,qf.register(this,Xf)}dispose(){if(this.disposer)for(const t in this.references)this.disposer(t,this.references[t]);this.references={},this.counters={}}get ids(){return Object.keys(this.references)}create(t){return new Promise((e,n)=>{this.creator?this.creator(t,n=>{n.release=()=>{this.disposer?.(t,n),delete n.release,Fr("RELEASED",t)},e(n)},n):n(Error("Reference id("+t+") could not be created. Reference creator should be defined."))})}add(t,e){const n=new Promise((n,r)=>{const i=this.references[t];if(i)i===e?r(Error("Reference ID and target duplicate")):e?r(Error("Reference ID duplicate")):n(i);else{const i=e=>{e.release=()=>{this.release(e)},this.references[t]=e,this.counters[t]=1,n(e)};if(e)i(e);else{if(!this.creator)return void r(Error("Reference id("+t+") is not allowed. Reference creator should be defined."));this.creator(t,i,r)}}});return this.references[t]||(this.references[t]=n),n}async get(t,e=!1){let n=this.references[t];if(n){if(!(n instanceof Promise)){if(!(t in this.counters))throw new Error("No Reference Count");return this.counters[t]++,n}if(e)return n=await n,this.counters[t]++,n}if(e)return await this.add(t);throw new Error("No References for "+t)}_id(t){for(const e in this.references){if(this.references[e]===t)return e}}release(t){const e=this._id(t);if(!e)return void Rr("No Referenced ID");const n=this.references[e];n&&(this.counters[e]--,0==this.counters[e]&&(this.disposer?.(e,n),delete this.references[e],delete this.counters[e],delete t.release,Fr("RELEASED",e)))}}const Zf={},Qf={};let Jf=[];function tg(t){const e=t.target,n="SCRIPT"===e.tagName?Zf:Qf,r=e.src||e.href;n[r]=!0,Jf.forEach((t,e)=>{if(!t)return;const{resolve:i,scripts:s,styles:o}=t;if(n===Zf){const t=s.indexOf(r);t>-1&&t<s.length-1&&ng(s[t+1])}s.some(t=>!Zf[t])||o?.some(t=>!Qf[t])||(i(),Jf[e]=null)}),Jf=Jf.filter(Boolean)}function eg(t){if("string"==typeof t)return;const e=t.target,n=e.src,r="SCRIPT"===e.tagName?Zf:Qf;Jf.forEach((e,i)=>{if(!e)return;const{reject:s,scripts:o,styles:a}=e;(r===Zf&&o.includes(n)||r===Qf&&!!a?.includes(n))&&(s(t),Jf[i]=null)}),Jf=Jf.filter(Boolean),delete r[n],document.head.removeChild(e)}function ng(t){Zf[t]=!1;const e=document.createElement("script");e.onload=tg,e.onerror=eg,e.type="text/javascript",e.src=t,document.head.appendChild(e)}class rg{static load(t,e){const n="string"==typeof t?[t]:t,r="string"==typeof e?[e]:e;return new Promise(function(t,e){if(n&&!Array.isArray(n)||r&&!Array.isArray(r))return void e(new Error("invalid sources for load"));let i,s=!0;if(r?.forEach(t=>{t in Qf||function(t){Qf[t]=!1;const e=document.createElement("link");e.onload=tg,e.onerror=eg,e.type="text/css",e.rel="stylesheet",e.media="screen,print",e.href=t,document.head.appendChild(e)}(t),Qf[t]||(s=!1)}),n&&n.length>0)for(const t of n)t in Zf?Zf[t]||(s=!1):i??=t;if(i)ng(i);else if(s)return void t();Jf.push({resolve:t,reject:e,scripts:n,styles:r})})}}const ig="0.0.0";class sg extends ph{getObject3dInstance(){return new x.Sprite}build(){super.build(),this.buildMaterial()}get cz(){const{zPos:t=0}=this.component.state,{height:e}=this.component.bounds,{tz:n=0}=this.component.delta();return t+n+e/2}updateAlpha(){const{alpha:t=1,fillStyle:e}=this.component.state;th(this.object3d.material,t,e)}updateHidden(){this.object3d.visible=!this.component.state.hidden}updateFillStyle(){const{fillStyle:t}=this.component.state,e=this.object3d.material;if(!e)return;const n=ph.buildFillStyleTexture(this.component);n?(e.map&&e.map.dispose(),n.needsUpdate=!0,e.map=n):"string"==typeof t&&("transparent"!==t?e.color.set(t):e.opacity=0)}}function og(t){if(!(t>0))return 1;let e=0;if(!(t&t-1))return t;for(;0!=t;)t>>=1,e+=1;return 1<<e}function ag(t){const{lineWidth:e=0}=t.state;let{width:n,height:r}=t.bounds;n+=e,r+=e;const i=og(2*n),s=og(2*r),o=$l(i,s),a=new x.CanvasTexture(o);return cg(o,t,2),a.needsUpdate=!0,a.wrapS=x.RepeatWrapping,a.wrapT=x.RepeatWrapping,a.offset.set(0,1-2*r/s),a.repeat.set(2*n/i,2*r/s),a.magFilter=x.NearestFilter,a.minFilter=x.LinearFilter,a.colorSpace=x.SRGBColorSpace,a}function cg(t,e,n){const{lineWidth:r=0}=e.state;let{left:i,top:s}=e.bounds;i-=r/2,s-=r/2;const o=t.getContext("2d");o.scale(n,n),o.translate(-i,-s),e.render(o),e.postrender(o)}class lg extends sg{buildMaterial(){const t=this.object3d.material;t&&t.dispose(),this.object3d.material=new x.SpriteMaterial({map:ag(this.component),alphaTest:.01,sizeAttenuation:!1})}get scale(){const{width:t,height:e}=this.component.bounds,n=this.threeContainer,{width:r=1,height:i=1}=n?.bounds??{},{scale:s=1}=this.component.state;return{x:s*t/r,y:s*e/i,z:s}}update(){this.build(),this.updateHidden()}updateFillStyle(){this.update()}updateStrokeStyle(){this.update()}updateAlpha(){this.update()}updateText(){this.update()}}class hg extends ph{get syncZPosOffset(){return this.effectiveDepth}getObject3dInstance(){return new x.Mesh}build(){super.build();const t=oh(this.component.state.material3d),e=new x.PlaneGeometry(1,1);e.rotateX(-Math.PI/2),this.object3d.geometry=e;const n=ag(this.component);this.object3d.material=new x.MeshStandardMaterial({map:n,transparent:!0,alphaTest:.01,side:x.DoubleSide,metalness:t.metalness,roughness:t.roughness,emissive:new x.Color(t.emissive),emissiveIntensity:t.emissiveIntensity}),this.object3d.castShadow=t.castShadow,this.object3d.receiveShadow=t.receiveShadow}updateAlpha(){const{alpha:t=1,fillStyle:e}=this.component.state;th(this.object3d.material,t,e)}updateHidden(){this.object3d.visible=!this.component.state.hidden}updateDimension(){const{width:t,height:e}=this.component.bounds;this.object3d.scale.set(t,1,e)}update(){this.clear(),this.build(),this.updateDimension(),this.updateTransform(),this.updateHidden()}updateFillStyle(){this.update()}updateStrokeStyle(){this.update()}updateText(){this.update()}updateMaterial3d(){super.updateMaterial3d();const t=this.object3d.material;if(!t)return;const e=oh(this.component.state.material3d);t.metalness=e.metalness,t.roughness=e.roughness,t.emissive.set(e.emissive),t.emissiveIntensity=e.emissiveIntensity}clear(){return uh(this.object3d),super.clear()}}class ug extends ph{getObject3dInstance(){return new x.Mesh}build(){super.build(),this.buildGeometry(),this.buildMaterial()}updateAlpha(){const{alpha:t=1,fillStyle:e}=this.component.state;th(this.object3d.material,t,e)}updateHidden(){this.object3d.visible=!this.component.state.hidden}updateFillStyle(){const{fillStyle:t}=this.component.state,e=this.object3d.material;if(!e)return;const n=ph.buildFillStyleTexture(this.component);n?(e.map&&e.map.dispose(),n.needsUpdate=!0,e.map=n):"string"==typeof t&&("transparent"!==t?e.color.set(t):e.opacity=0)}updateStrokeStyle(){const t=this.object3d.getObjectByName("__edgeLines__");t&&(this.object3d.remove(t),uh(t));const{strokeStyle:e}=this.component.state;if(!e||"transparent"===e||"none"===e)return;const n=this.object3d.geometry;if(!n?.getAttribute("position"))return;const r=new x.EdgesGeometry(n),i=new x.LineBasicMaterial({color:e}),s=new x.LineSegments(r,i);s.name="__edgeLines__",this.object3d.add(s)}updateDimension(){const{width:t,height:e}=this.component.bounds,{depth:n=1}=this.component.state;if(!this.object3d)return;this.object3d.geometry.computeBoundingBox();const r=this.object3d.geometry.boundingBox;if(r){const i=r.max.x-r.min.x,s=r.max.y-r.min.y,o=r.max.z-r.min.z;this.object3d.scale.set(t/i,n/s,e/o)}}buildMaterial(){const t=oh(this.component.state.material3d);this.object3d.material=new x.MeshStandardMaterial({transparent:!0,side:ch(t.side),metalness:t.metalness,roughness:t.roughness,emissive:new x.Color(t.emissive),emissiveIntensity:t.emissiveIntensity,opacity:t.opacity,envMapIntensity:t.envMapIntensity})}updateMaterial3d(){super.updateMaterial3d();const t=this.object3d.material;if(!t)return;const e=oh(this.component.state.material3d);t.metalness=e.metalness,t.roughness=e.roughness,t.emissive.set(e.emissive),t.emissiveIntensity=e.emissiveIntensity,t.opacity=e.opacity,t.transparent=e.opacity<1,t.envMapIntensity=e.envMapIntensity,t.side=ch(e.side)}clear(){return uh(this.object3d),super.clear()}}function dg(t,e,n,r){return[["bold",t],["italic",e],[n+"px",!0],[r,!0]].filter(t=>t[1]).map(t=>t[0]).join(" ")}function pg(t){let e=0;if(t&&!(t&t-1))return t;for(;0!=t;)t>>=1,e+=1;return 1<<e}function fg(t,e,n){const{bold:r=!1,italic:i=!1,fontFamily:s="Serif",fontSize:o=10,fontColor:a="black"}=n||{},c=t.getContext("2d");c.imageSmoothingEnabled=!1,c.fillStyle=a,c.strokeStyle=a,c.font=dg(r,i,o,s),c.textBaseline="top",c.textAlign="left",c.fillText(String(e),0,0)}function gg(t,e,n,r){const i=pg(2*e),s=pg(2*n),o=$l(i,s);o.getContext("2d").scale(2,2),fg(o,t,r);const a=new x.CanvasTexture(o);return a.needsUpdate=!0,a.wrapS=x.RepeatWrapping,a.wrapT=x.RepeatWrapping,a.offset.set(0,1-2*n/s),a.repeat.set(2*e/i,2*n/s),a.minFilter=x.LinearFilter,a.colorSpace=x.SRGBColorSpace,a}function mg(t,e){let{bold:n=!1,italic:r=!1,fontFamily:i="Serif",fontSize:s=10,lineHeight:o="normal"}=e||{};t=void 0===t||""==t?" ":String(t);const a=document.createElement("span");a.style.font=dg(n,r,s,i),a.style.lineHeight=String(o),a.style.whiteSpace="pre",a.style.position="absolute",a.textContent=t,document.body.appendChild(a);const c=a.getBoundingClientRect();return document.body.removeChild(a),{width:c.width,height:c.height}}class yg extends ug{get syncZPosOffset(){return this.effectiveDepth}buildGeometry(){}updateDimension(){const{width:t,height:e}=this.component.state;this.object3d.geometry&&this.object3d.geometry.dispose();const n=new x.PlaneGeometry(t,e);n.rotateX(-Math.PI/2),this.object3d.geometry=n}updateText(){const t=this.object3d.material;if(!t)return;const{width:e,height:n,bold:r=!1,italic:i=!1,fontFamily:s="Serif",fontSize:o=10,fontColor:a="black",fillStyle:c}=this.component.state,l=gg(this.component.text,e,n,{bold:r,italic:i,fontFamily:s,fontSize:o,fontColor:a});l?(t.map&&t.map.dispose(),t.map=l,l.needsUpdate=!0):"string"==typeof c&&("transparent"!==c?t.color.set(c):t.opacity=0)}updateAlpha(){const{alpha:t=1,fontColor:e="black"}=this.component.state;th(this.object3d.material,t,e),this.object3d.material.transparent=!0}}yh("text",t=>new yg(t));class bg extends ph{get syncZPosOffset(){return this.effectiveDepth}getObject3dInstance(){return new x.Mesh}build(){super.build();const{width:t,height:e}=this.component.bounds;if(!t||!e)return;const n=oh(this.component.state.material3d),r=new x.PlaneGeometry(1,1);r.rotateX(-Math.PI/2),this.object3d.geometry=r;const i=ag(this.component);this.object3d.material=new x.MeshStandardMaterial({map:i,transparent:!0,side:x.DoubleSide,metalness:n.metalness,roughness:n.roughness,emissive:new x.Color(n.emissive),emissiveIntensity:n.emissiveIntensity}),this.object3d.castShadow=n.castShadow,this.object3d.receiveShadow=n.receiveShadow}updateDimension(){const{width:t,height:e}=this.component.bounds;this.object3d.scale.set(t,1,e)}updateAlpha(){const{alpha:t=1,fillStyle:e}=this.component.state;th(this.object3d.material,t,e)}updateHidden(){this.object3d.visible=!this.component.state.hidden}_debouncedRebuild(){this._debounceTimer&&clearTimeout(this._debounceTimer),this._debounceTimer=setTimeout(()=>{this._debounceTimer=void 0,this._rebuildTexture()},100)}_rebuildTexture(){this.clear(),this.build(),this.updateDimension(),this.updateTransform(),this.updateHidden()}updateFillStyle(){this._debouncedRebuild()}updateStrokeStyle(){this._debouncedRebuild()}updateText(){this._debouncedRebuild()}updateMaterial3d(){super.updateMaterial3d();const t=this.object3d.material;if(!t)return;const e=oh(this.component.state.material3d);t.metalness=e.metalness,t.roughness=e.roughness,t.emissive.set(e.emissive),t.emissiveIntensity=e.emissiveIntensity}clear(){return this._debounceTimer&&(clearTimeout(this._debounceTimer),this._debounceTimer=void 0),uh(this.object3d),super.clear()}dispose(){this._debounceTimer&&(clearTimeout(this._debounceTimer),this._debounceTimer=void 0),super.dispose()}}const vg={input:"css3d",select:"css3d",textarea:"css3d",button:"css3d",iframe:"css3d",video:"css3d",label:"texture",table:"texture",progress:"texture"};function xg(t){const e=function(t){const e=t.state?.material3d?.renderMode;if("css3d"===e||"texture"===e)return e;const n=t.model?.type??"";return vg[n]??"css3d"}(t);return"texture"===e?new bg(t):new fh(t)}yh("html-overlay-element",xg),yh("html-overlay-container",xg);class _g{setShape({extrudedShape:t,extrudedOptions:e}){this.extrudedShape=t,this.bb=new x.Box2,this.bb.setFromPoints(this.extrudedShape?.extractPoints(0).shape),this.extrudedOptions=e}generateTopUV(t,e,n,r,i){const s=e[3*n],o=e[3*n+1],a=e[3*r],c=e[3*r+1],l=e[3*i],h=e[3*i+1],u=this.bb,d=u.max.x-u.min.x,p=u.max.y-u.min.y;return[new x.Vector2((s-u.min.x)/d,1-(o-u.min.y)/p),new x.Vector2((a-u.min.x)/d,1-(c-u.min.y)/p),new x.Vector2((l-u.min.x)/d,1-(h-u.min.y)/p)]}generateSideWallUV(t,e,n,r,i,s){const o=e[3*n],a=e[3*n+1],c=e[3*n+2],l=e[3*r],h=e[3*r+1],u=e[3*r+2],d=e[3*i],p=e[3*i+1],f=e[3*i+2],g=e[3*s],m=e[3*s+1],y=e[3*s+2],b=this.extrudedOptions?.depth||100,v=this.bb,_=v.max.x-v.min.x,w=v.max.y-v.min.y;return Math.abs(a-h)<.01?[new x.Vector2(o/_,1-c/b),new x.Vector2(l/_,1-u/b),new x.Vector2(d/_,1-f/b),new x.Vector2(g/_,1-y/b)]:[new x.Vector2(a/w,1-c/b),new x.Vector2(h/w,1-u/b),new x.Vector2(p/w,1-f/b),new x.Vector2(m/w,1-y/b)]}}class wg extends ph{clear(){return this._mesh=void 0,super.clear()}get shape(){return null}get boundUVGenerator(){return this._boundUVGenerator||(this._boundUVGenerator=new _g),this._boundUVGenerator}build(){super.build();const t=this.effectiveDepth,e=this.shape;if(!e)return;const n=this.boundUVGenerator;n&&n.setShape({extrudedShape:e,extrudedOptions:{depth:t}});const r=this.createGeometry(e),i=this.createMaterials();this._mesh=new x.Mesh(r,i),this._mesh.rotation.x=-Math.PI/2,this._mesh.rotation.y=-Math.PI,this._mesh.rotation.z=-Math.PI,this._mesh.castShadow=!0,this.object3d.add(this._mesh),this.updateFillStyle(),this.updateStrokeStyle()}createGeometry(t){const e=this.effectiveDepth,{lineWidth:n=0}=this.component.state,r={steps:1,depth:e,bevelEnabled:n>0,bevelThickness:0,bevelSize:n,bevelSegments:1,UVGenerator:this.boundUVGenerator},i=new x.ExtrudeGeometry(t,r);return i.center(),i}createMaterials(){const t=oh(this.component.state.material3d),e={metalness:t.metalness,roughness:t.roughness,emissive:new x.Color(t.emissive),emissiveIntensity:t.emissiveIntensity,opacity:t.opacity,transparent:t.opacity<1,envMapIntensity:t.envMapIntensity,side:ch(t.side)};return[new x.MeshStandardMaterial(e),new x.MeshStandardMaterial(e)]}createTexture(){function t(t){let e=0;if(t&&!(t&t-1))return t;for(;0!=t;)t>>=1,e+=1;return 1<<e}const{width:e,height:n}=this.component.bounds,r=t(e),i=t(n),s=$l(r,i);this.component.render(s.getContext("2d"));const o=new x.CanvasTexture(s);return o.needsUpdate=!0,o.wrapS=x.RepeatWrapping,o.wrapT=x.RepeatWrapping,o.offset.set(0,1-n/i),o.repeat.set(e/r,n/i),o.minFilter=x.LinearFilter,o}getMaterials(){if(!this._mesh)return;const t=this._mesh.material;return Array.isArray(t)?t:void 0}updateMaterial3d(){super.updateMaterial3d();const t=oh(this.component.state.material3d),e=ch(t.side),n=this.getMaterials();if(n)for(const r of n)r.metalness=t.metalness,r.roughness=t.roughness,r.emissive.set(t.emissive),r.emissiveIntensity=t.emissiveIntensity,r.opacity=t.opacity,r.transparent=t.opacity<1,r.envMapIntensity=t.envMapIntensity,r.side=e}updateAlpha(){const{alpha:t=1,fillStyle:e,strokeStyle:n}=this.component.state,r=this.getMaterials();r&&(th(r[0],t,e),th(r[1],t,n))}updateStrokeStyle(){const t=this.getMaterials();if(!t)return;const{strokeStyle:e}=this.component.state;t[1].color.set(e)}updateFillStyle(){const{fillStyle:t}=this.component.state,e=this.getMaterials();if(!e)return;const n=e[0],r=ph.buildFillStyleTexture(this.component);r?(n.map&&n.map.dispose(),n.map=r):n.color.set(t)}updateDimension(){super.updateDimension()}}class Ag extends wg{get shape(){const{cx:t=0,cy:e=0,rx:n=1,ry:r=1,startAngle:i=0,endAngle:s=2*Math.PI,anticlockwise:o=!1}=this.component.state,a=new x.EllipseCurve(t,e,Math.abs(n),Math.abs(r),i,s,o,0);return new x.Shape(a.getPoints(50))}}yh("ellipse",t=>new Ag(t));class Sg extends wg{get shape(){const{width:t,height:e,round:n}=this.component.state,r=new x.Shape;if(n>0){const i=n/100*(t/2);r.moveTo(i,0),r.lineTo(t-i,0),r.quadraticCurveTo(t,0,t,i),r.lineTo(t,e-i),r.quadraticCurveTo(t,e,t-i,e),r.lineTo(i,e),r.quadraticCurveTo(0,e,0,e-i),r.lineTo(0,i),r.quadraticCurveTo(0,0,i,0)}else r.moveTo(0,0),r.lineTo(t,0),r.lineTo(t,e),r.lineTo(0,e),r.lineTo(0,0);return r}}yh("rect",t=>new Sg(t));class Mg extends wg{get shape(){const{path:t=[],round:e=0}=this.component.state,n=new x.Shape;for(let r=0;r<t.length;r++){const i=t[(r-1+t.length)%t.length],s=t[(r+t.length)%t.length],o=t[(r+1)%t.length];if(i.x===s.x&&i.y===s.y)continue;let a=Math.sqrt((i.x-s.x)*(i.x-s.x)+(i.y-s.y)*(i.y-s.y)),c=0!==a?Math.atan2(i.x-s.x,i.y-s.y):0,l=Math.sin(c)*Math.min(e,a/2)+s.x,h=Math.cos(c)*Math.min(e,a/2)+s.y;const u=e>0||0!==a?{x:l,y:h}:s;a=Math.sqrt((o.x-s.x)*(o.x-s.x)+(o.y-s.y)*(o.y-s.y)),c=0!==a?Math.atan2(o.x-s.x,o.y-s.y):0,l=Math.sin(c)*Math.min(e,a/2)+s.x,h=Math.cos(c)*Math.min(e,a/2)+s.y;const d=e>0||0!==a?{x:l,y:h}:s;0==r?n.moveTo(u.x,u.y):n.lineTo(u.x,u.y),e>0&&n.quadraticCurveTo(s.x,s.y,d.x,d.y)}return n}get minMax(){if(!this._minMax){const{path:t}=this.component.state;let e,n,r,i;t.forEach((t,s)=>{if(0==s)return e=r=t.x,void(n=i=t.y);e=Math.min(e,t.x),r=Math.max(r,t.x),n=Math.min(n,t.y),i=Math.max(i,t.y)}),this._minMax={minX:e,minY:n,maxX:r,maxY:i}}return this._minMax}}yh("polygon",t=>new Mg(t));class Eg extends wg{get shape(){const{cx:t=0,cy:e=0,rx:n=1,ry:r=1,ratio:i=50,startAngle:s=0,endAngle:o=2*Math.PI,anticlockwise:a=!1}=this.component.state,c=Math.abs(n),l=Math.abs(r),h=new x.EllipseCurve(t,e,c,l,s,o,a,0),u=new x.Shape(h.getPoints(50)),d=c/100*i,p=l/100*i;if(d>0&&p>0){const n=new x.EllipseCurve(t,e,d,p,s,o,a,0),r=new x.Path(n.getPoints(50));u.holes.push(r)}return u}}yh("donut",t=>new Eg(t));class kg extends wg{get shape(){const{x1:t=0,y1:e=0,x2:n=0,y2:r=0,x3:i=0,y3:s=0}=this.component.state,o=new x.Shape;return o.moveTo(t,e),o.lineTo(n,r),o.lineTo(i,s),o.closePath(),o}}yh("triangle",t=>new kg(t));class Cg extends wg{get shape(){const{ratio:t=30,wing:e=5,cx:n=0,cy:r=0,rx:i=1,ry:s=1}=this.component.state;if(e<3)return null;const o=Math.PI/2,a=2*Math.PI/e,c=i-t/100*i,l=s-t/100*s,h=new x.Shape;h.moveTo(n+i*Math.cos(-o),r+s*Math.sin(-o)),h.lineTo(n+(i-c)*(Math.cos(a-o)+Math.cos(0-o))/2,r+(s-l)*(Math.sin(a-o)+Math.sin(0-o))/2);for(let t=1;t<e;t++)h.lineTo(n+i*Math.cos(a*t-o),r+s*Math.sin(a*t-o)),h.lineTo(n+(i-c)*(Math.cos(a*(t+1)-o)+Math.cos(a*t-o))/2,r+(s-l)*(Math.sin(a*(t+1)-o)+Math.sin(a*t-o))/2);return h.closePath(),h}}yh("star",t=>new Cg(t));const Tg={mutable:!1,resizable:!0,rotatable:!0,properties:[],help:"scene/component/sphere"};class Pg extends ug{buildGeometry(){const{rx:t=0,ry:e=0,rz:n}=this.component.state,r=n??t,i=new x.SphereGeometry(1,32,16);i.scale(t,r,e),this.object3d.geometry=i}updateDimension(){this.buildGeometry()}}t.Sphere=class extends Kp{is3dish(){return!0}buildRealObject(){return new Pg(this)}get nature(){return Tg}},t.Sphere=yd([$f("sphere")],t.Sphere);const Og={mutable:!1,resizable:!0,rotatable:!0,properties:[]};t.Sprite=class extends(Ba(Fa)){is3dish(){return!0}buildRealObject(){return new lg(this)}get nature(){return Og}},t.Sprite=yd([$f("sprite")],t.Sprite);const Dg={mutable:!1,resizable:!0,rotatable:!0,properties:[],help:"scene/component/cube"};class jg extends ug{buildGeometry(){const{width:t=0,height:e=0,depth:n=0}=this.component.state,r=new x.BoxGeometry(1,1,1);r.scale(t,n,e),this.object3d.geometry=r}}t.Cube=class extends(Ba(Fa)){is3dish(){return!0}buildRealObject(){return new jg(this)}get nature(){return Dg}},t.Cube=yd([$f("cube")],t.Cube);const Ig={mutable:!1,resizable:!0,rotatable:!0,properties:[],help:"scene/component/cylinder"};class zg extends ug{buildGeometry(){const{rx:t=0,ry:e=0}=this.component.state,n=this.component.state.depth??1,r=new x.CylinderGeometry(1,1,1,25);r.scale(t||1,n||1,e||1),this.object3d.geometry=r}updateDimension(){this.buildGeometry()}}t.Cylinder=class extends Kp{is3dish(){return!0}buildRealObject(){return new zg(this)}get nature(){return Ig}},t.Cylinder=yd([$f("cylinder")],t.Cylinder);const Rg={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"color",label:"box-color",name:"boxColor",property:"boxColor"}],help:"scene/component/banner"};class Lg extends ph{build(){super.build();const{width:t=1,height:e=1,depth:n=1}=this.component.state;this.object3d.add(this.createCube(t,e,n));const r=this.createTextureBoard(t,n);r.position.set(0,0,.5*e+1),this.object3d.add(r)}createCube(t,e,n){const{boxColor:r="#ccaa76"}=this.component.state,i=oh(this.component.state.material3d),s=new x.BoxGeometry(t,n,e),o=new x.MeshStandardMaterial({color:r,side:x.FrontSide,metalness:i.metalness,roughness:i.roughness,emissive:new x.Color(i.emissive),emissiveIntensity:i.emissiveIntensity}),a=new x.Mesh(s,o);return a.castShadow=i.castShadow,a.receiveShadow=i.receiveShadow,a}createTextureBoard(t,e){let n;const r=oh(this.component.state.material3d),{fillStyle:i="#ccaa76"}=this.component.state,s=ph.buildFillStyleTexture(this.component);n=s?new x.MeshStandardMaterial({map:s,metalness:r.metalness,roughness:r.roughness,emissive:new x.Color(r.emissive),emissiveIntensity:r.emissiveIntensity}):new x.MeshStandardMaterial({color:i||"#ccaa76",side:x.FrontSide,metalness:r.metalness,roughness:r.roughness,emissive:new x.Color(r.emissive),emissiveIntensity:r.emissiveIntensity});const o=new x.PlaneGeometry(t,e,1,1),a=new x.Mesh(o,n);return a.castShadow=r.castShadow,a.receiveShadow=r.receiveShadow,a}updateMaterial3d(){super.updateMaterial3d();const t=oh(this.component.state.material3d);this.object3d.traverse(e=>{if(e.isMesh){const n=e.material;n&&(n.metalness=t.metalness,n.roughness=t.roughness,n.emissive.set(t.emissive),n.emissiveIntensity=t.emissiveIntensity),e.castShadow=t.castShadow,e.receiveShadow=t.receiveShadow}})}}var Fg;t.Banner=class extends(Ba(Fa)){is3dish(){return!0}get nature(){return Rg}buildRealObject(){return new Lg(this)}},t.Banner=yd([$f("banner")],t.Banner);const Ng={far:1e5,fov:80,near:1,zoom:1},Bg={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"near",name:"near"},{type:"number",label:"far",name:"far"},{type:"number",label:"fov",name:"fov"},{type:"number",label:"zoom",name:"zoom"},{type:"checkbox",label:"show-helper",name:"showHelper"}],help:"scene/component/camera"};class Gg extends ph{getObject3dInstance(){return new x.Mesh}updateCamera(){const{near:t=Ng.near,far:e=Ng.far,fov:n=Ng.fov,zoom:r=Ng.zoom,showHelper:i}=this.component.state;this.camera.far=e,this.camera.fov=n,this.camera.near=t,this.camera.zoom=r,i?this.helper||(this.helper=new x.CameraHelper(this.camera),this.object3d.add(this.helper)):this.helper&&(this.object3d.remove(this.helper),delete this.helper)}build(){super.build();const{width:t=0,height:e=0,depth:n=0,fillStyle:r="lightgray"}=this.component.state;this.object3d.geometry=new x.BoxGeometry(t,n,e),this.object3d.material=new x.MeshStandardMaterial({color:r,side:x.FrontSide}),this.camera=new x.PerspectiveCamera,this.camera.position.set(0,0,0),this.object3d.add(this.camera),this.object3d.lookAt(0,0,0),this.updateCamera()}}t.Camera=Fg=class extends(Ba(Fa)){is3dish(){return!0}static get image(){return Fg._image||(Fg._image=new Image,Fg._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA1IAAANSAQMAAABV6G1EAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAABlBMVEX6+voBAQGV71ZvAAAFO0lEQVR42u3dMZLkNBiGYakUKFRIqKOISxDvETiCTBEQcgQOQE7clyAi8REm7KDXIhgYoMa/7fbIX+2K9w022MCP/25Z28GW5RwRERERERERERERERERERERERERERERERERERERERERERERERHRl9mv7fdPn7879sf8Mcq3J3r5EJXaUy3Wddrcd6qNybx9F2/lZ63H+nVCa9Oe9elZa5ksa/dDbE+3fsm4v27C89bd+i6W3l+XdcnSWtuxyvPW+hqorbWb0Jr7Pl3m4tjfVMIZ625d6L5pxTPWw7rQY9P6pqu1dF8aq5d83cE3rXrGWluIxV6h53eotv4c1V3Ln7Nm66ZvvZf8SSues16sD2jubz2sC839fmvYiz7t//LJna27wsr7VjlnNWtPeHTfNlae2bZvnaTePUd+74fqV2LNxv6zdN8O3z9HSWhlc4F+dOvdsKbe2+F7q+zPddq6W2ts6r31vrN825/rtPWwvvcL5losy11uxQNz5U6fYT4w12mrWf80TUNZdetXal/LtwNW6WOFI1Y9bU3GVnfFXM9bneZKwrmKcK4qnKsK52q6uULTzRWFVjpkta/OykKrCq02puWFVhRaSWjlQa0itJrO8oNaQWgloZWFVhnUqjrLN50VBrWi0MpCqwitOqjVdFYQWlFopUGtLLSq0GpjWl5oRaGVBrWy0KpCq+ksP6gVhFYSWllolUGtqrNW/jvBZVYY1IpCKwutIrTqoFbTWUFoxUGtJLSK0KpCq41peaEVhVYa1MpCqwqtprP8oFYUWklo5UGtIrSazvJCKwxqRaGVhVYZ1Ko664ems34UWj8Nav0stBoWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhbW/9L6RWgp37WofIek8j2cyveLTkqrCq0itLLQSkJL+Q5k5budle/HVr73e/24gAHenZ6FlvK9+srzAoLQUp65oDy3QnoeRxFaWWgpz2pRnncThJbyzCDpuUtVaBWhlYWW8qwx5RlqynPovNBSnuUnPaOwCK0stJLQUp4BqjzbVHk+rFNaVWgVoZWFlvJc6Si0lGdzK88cV57bLj2PvgitLLSS0IpCKwgtL7Sc0qpCqwitLLSS0IpCKwgtL7Sc0qpCqwitLLSS0IpCKwgtL7Sc0qpCqwitLLSS0IpCKwgtL7Sc0qpCqwitLLSS0IpCKwgtL7Sc0qpCqxyyahcrH7JKFysJ54rCuYJwLi+cywnn+vdlLp+rCOfKwrnStXP95zLxiJX7WEFoeaHljO/xEqsaf9/FWqz1bM+VzloP655df2uxrnP9XPHKue7OeMDsuWInyx+Y67T1Yv0gs+cKvay6P5fvZZULrdnYFBbbcr2sdKF1MxbZFdZkLLItq3aay6/vJ102eusD2rJKl633nw/o3n+uxbrpLSv1svL6M95hQ3xYNz33t16sC21Zoc+28Xahm+u+Ic7WhbYs1+dRfrvQ5LpvHOaFNq3SZ8n/faEt6twDtli7wrJpxT6P1183/di0Ti36u3XT903Ld1qGrzf9smmdWhyTddNzf8t8UqdtK/dZGq8P2DZ1ZnHcrQ/osWO5PkvDuby7NE58Yctk7Qq3PSv3+bpc3F0aJ56wF+uLX9xu6eOb4es9z/vWc0vR3oZuByjnf2t/fP/54B/2WvvWEREREREREREREREREREREREREREREREREREREREREREREREREX2J/QlrTpqHD8xO1gAAAABJRU5ErkJggg=="),Fg._image}render(t){const{left:e,top:n,width:r,height:i}=this.bounds;t.beginPath(),this.drawImage(t,Fg.image,e,n,r,i)}buildRealObject(){return new Gg(this)}get nature(){return Bg}},t.Camera=Fg=yd([$f("camera")],t.Camera);const Yg="KHR_materials_pbrSpecularGlossiness";class Ug{constructor(t){this.name=Yg,this.parser=t}extendMaterialParams(t,e){const r=this.parser.json.materials?.[t],i=r?.extensions?.[Yg];if(!i)return Promise.resolve();const s=[];if(Array.isArray(i.diffuseFactor)){const[t,r,s,o]=i.diffuseFactor;e.color||(e.color=new n.Color),e.color.setRGB(t,r,s,n.LinearSRGBColorSpace),e.opacity=o}null!=i.diffuseTexture&&s.push(this.parser.assignTexture(e,"map",i.diffuseTexture,n.SRGBColorSpace));const o=i.glossinessFactor??1;e.roughness=1-o;const a=i.specularFactor??[1,1,1],c=Math.max(a[0],a[1],a[2]);return e.metalness=c>.5?c:0,Promise.all(s)}}const Hg={once:x.LoopOnce,repeat:x.LoopRepeat,pingpong:x.LoopPingPong};class Wg extends ph{constructor(){super(...arguments),this.objectSize=new x.Vector3,this._nodeIndex=new Map,this._originals=new Map,this._animationActions=new Map,this._fillStyleOriginals=new Map,this._loadGen=0}static _getSharedLoader(t){if(!Wg._sharedLoader){const t=new g.GLTFLoader;!function(t){t.register(t=>new Ug(t))}(t);const e=new m.DRACOLoader;e.setDecoderPath("/node_modules/three/examples/jsm/libs/draco/"),t.setDRACOLoader(e);const n=new y.KTX2Loader;n.setTranscoderPath("/node_modules/three/examples/jsm/libs/basis/"),t.setKTX2Loader(n),t.setMeshoptDecoder(b.MeshoptDecoder),t.setCrossOrigin("anonymous"),Wg._sharedLoader=t}return Wg._sharedLoader.ktx2Loader?.detectSupport(t),Wg._sharedLoader}build(){super.build();const{src:t}=this.component.state;if(!t)return void this.clear();const e=++this._loadGen,n=Wg._getSharedLoader(this.threeContainer.renderer3d),r=this.component.app.url(t);n.load(r,t=>{e===this._loadGen&&this.gltfLoaded(t)},void 0,t=>{e===this._loadGen&&(Rr("GLTFLoader.load",t),this.clear(),this._showErrorPlaceholder(),this.component.setState({loadError:String(t)}))})}gltfLoaded(t){this.component.state.loadError&&this.component.setState({loadError:void 0});const e=t.scene,n=t.animations,r=e.clone();r.userData.context=this,r.traverse(t=>{t.isMesh&&(t.castShadow=!0)});const i=(new x.Box3).setFromObject(r),s=i.getCenter(r.position),o=i.getSize(new x.Vector3);s.multiplyScalar(-1),this.clear(),this.objectSize=o,this.pivot=new x.Object3D,this.object3d.add(this.pivot),this.pivot.add(r),this._buildNodeIndex(r),this.updateDimension(),n&&n.length&&this._setupAnimations(n);const a=this.component.state.nodes;a&&this._applyNodeStates(a),this.updateFillStyle()}_buildNodeIndex(t){this._nodeIndex.clear(),this._originals.clear(),t.traverse(t=>{if(!t.name)return;this._nodeIndex.set(t.name,t);const e={visible:t.visible,scale:t.scale.clone()};if(t.isMesh){const n=t.material;n&&(e.color=n.color.clone(),e.opacity=n.opacity,e.transparent=n.transparent,e.emissive=n.emissive.clone(),e.emissiveIntensity=n.emissiveIntensity)}this._originals.set(t.name,e)})}getNode(t){return this._nodeIndex.get(t)}get nodeNames(){return Array.from(this._nodeIndex.keys())}_applyNodeStates(t){for(const[e,n]of Object.entries(t)){const t=this._nodeIndex.get(e);if(t&&(void 0!==n.visible&&(t.visible=n.visible),void 0!==n.scale&&t.scale.setScalar(n.scale),t.isMesh)){const e=t.material;if(!e)continue;void 0!==n.color&&e.color.set(n.color),void 0!==n.opacity&&(e.opacity=n.opacity,e.transparent=n.opacity<1),void 0!==n.emissive&&e.emissive.set(n.emissive),void 0!==n.emissiveIntensity&&(e.emissiveIntensity=n.emissiveIntensity)}}}_resetNode(t){const e=this._nodeIndex.get(t),n=this._originals.get(t);if(e&&n&&(e.visible=n.visible,e.scale.copy(n.scale),e.isMesh)){const t=e.material;t&&n.color&&(t.color.copy(n.color),t.opacity=n.opacity,t.transparent=n.transparent,t.emissive.copy(n.emissive),t.emissiveIntensity=n.emissiveIntensity)}}_resetAllNodes(){for(const t of this._originals.keys())this._resetNode(t)}_setupAnimations(t){const e=this.threeContainer.mixer;this._animationActions.clear();for(const n of t){const t=e.clipAction(n);this._animationActions.set(n.name,t)}!1!==this.component.state.autoPlay&&this._animationActions.forEach(t=>t.play());const n=this.component.state.animations;n&&this._applyAnimationStates(n)}_applyAnimationStates(t){for(const[e,n]of Object.entries(t)){const t=this._animationActions.get(e);t&&(void 0!==n.loop&&(t.loop=Hg[n.loop]??x.LoopRepeat,"once"===n.loop&&(t.clampWhenFinished=!0)),void 0!==n.speed&&(t.timeScale=n.speed),void 0!==n.weight&&(t.weight=n.weight),void 0!==n.play&&(n.play?t.play():t.stop()))}}get animationNames(){return Array.from(this._animationActions.keys())}_showErrorPlaceholder(){const t=new x.BoxGeometry(1,1,1),e=new x.MeshStandardMaterial({color:13369344,wireframe:!0}),n=new x.Mesh(t,e);n.name="__error_placeholder__",this.object3d.add(n)}updateFillStyle(){const t=this.component.state.fillStyleTargets;if(!t||0===t.length)return;const{fillStyle:e}=this.component.state;if(!e)return;const n=ph.buildFillStyleTexture(this.component);for(const r of t){const t=this._nodeIndex.get(r);if(!t||!t.isMesh)continue;const i=t.material;i&&(this._fillStyleOriginals.has(r)||this._fillStyleOriginals.set(r,{color:i.color.clone(),map:i.map,opacity:i.opacity,transparent:i.transparent}),n?(i.map&&i.map!==this._fillStyleOriginals.get(r)?.map&&i.map.dispose(),n.needsUpdate=!0,i.map=n):"string"==typeof e&&("transparent"!==e?i.color.set(e):(i.opacity=0,i.transparent=!0)))}}_restoreFillStyleTargets(t){for(const e of t){const t=this._fillStyleOriginals.get(e);if(!t)continue;const n=this._nodeIndex.get(e);if(!n||!n.isMesh)continue;const r=n.material;r&&(r.map&&r.map!==t.map&&r.map.dispose(),r.color.copy(t.color),r.map=t.map,r.opacity=t.opacity,r.transparent=t.transparent,this._fillStyleOriginals.delete(e))}}clear(){return this._animationActions.forEach(t=>t.stop()),this._animationActions.clear(),this._nodeIndex.clear(),this._originals.clear(),this._fillStyleOriginals.clear(),this.pivot&&uh(this.pivot),this.pivot=void 0,this.objectSize=void 0,super.clear()}updateDimension(){const{width:t=1,height:e=1,depth:n=1}=this.component.state,{x:r=1,y:i=1,z:s=1}=this.objectSize||{};this.pivot&&this.pivot.scale.set(t/r,n/i,e/s),this.component.invalidate()}updateSource(){this.build()}onchange(t,e){if(super.onchange(t,e),"src"in t&&this.updateSource(),"nodes"in t){this._resetAllNodes();const e=t.nodes;e&&Object.keys(e).length>0&&this._applyNodeStates(e)}if("animations"in t){const e=t.animations;e&&this._applyAnimationStates(e)}if("fillStyleTargets"in t){const t=e.fillStyleTargets??[];t.length>0&&this._restoreFillStyleTargets(t),this.updateFillStyle()}"autoPlay"in t&&(!1!==t.autoPlay?this._animationActions.forEach(t=>t.play()):this._animationActions.forEach(t=>t.stop()))}}var Vg;Wg._sharedLoader=null;const $g={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"gltf-selector",label:"url",name:"src",property:{displayField:"id",displayFullUrl:!0,baseUrlAlias:"$base_url",defaultStorage:"3d-model",storageFilters:{type:Array,value:[{name:"category",value:"image"}]},useUpload:!0,category:"application"},observe:function(t){this.parentNode.querySelector("[name=gltfInfo]").src=t;const e=this.parentNode.querySelector("[name=fillStyleTargets]");e&&(e.src=t)}},{type:"gltf-info",label:"",name:"gltfInfo",readonly:!0,property:{action:(t,e)=>{t.set(e)}},editor:{fullwidth:!0}},{type:"gltf-fill-targets",label:"fill-targets",name:"fillStyleTargets",editor:{fullwidth:!0}}],"value-property":"source",help:"scene/component/gltf-object"};t.GLTFObject=Vg=class extends(Ba(Fa)){is3dish(){return!0}static get image(){return Vg._image||(Vg._image=new Image,Vg._image.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUFDMTQzOTY4QjI1MTFFOEEwNzhBOTM1NkE0RTk0QTUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUFDMTQzOTc4QjI1MTFFOEEwNzhBOTM1NkE0RTk0QTUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo1QUMxNDM5NDhCMjUxMUU4QTA3OEE5MzU2QTRFOTRBNSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1QUMxNDM5NThCMjUxMUU4QTA3OEE5MzU2QTRFOTRBNSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqF6vDMAAAi7SURBVHja7FpZbBvnEd6LXC7J5SFSlERS1G3Zau26UR1bcWP4qpM0RoyeSIrCfUnaomj70j4W6GODJshDWqAvQVEURVK0aIAWMJA6iuvmslNLiZNIdnRUkiWKlEjxJpfck53hIZMUJUshXR/IAAMKu//uP98/M9/Mv/rJS88/Q9QRHejRku4FbS1duxMigIZAp0D/BfpvULl2EFPnwWOgPwXtJO4OMYJ2l/QR0CXQ34BeqBxE1fyNAJ67i0DUE7Tt1yVbqXpAfgx6lrh35GzJ5iogJ+4xEJVgTpSBYBL/jLh3BW3XIZCToK57GAja/hWqRLH3uhxFIEP3AZA9CMRxHwBxYkHUf6oq1eo1GJ1eA+doN7CWFr3OZNMxBhND6w3rRVaVcoqSTStSJi6LiYiYjQRyQtifzUZXpCYD0TE7Gc27e4223i9YrF17LKZWr5mkGfLTzJoOzqfi8xOJ6Mz7cWFtWWwGkm0Baenfb3HtO+K0dg/ZSJLa1Hg5m5LlTFJSBPgFTyi5jAJe0WiWoylGR9F6jtYZLQzL21jPyOMe70OnvfG5idjKBxdC8YXJ9G0DwrW0s50Pf90NQFrq3dcUWcus3kinAv9Np5ZnUQUwXi3fZ62ter3JwsB9ofpJkoBw1Fk6B80W3yDvPXzG3bJrWAiOvR7ORoNiU4E4Br9k7T7+VJfOyG/oenHVozPj0dWP3opAzOc2e0fPiSe9tp699vHf/fxDWUgqN+/kCTEZkcOT78ZQi/MdsDr3PGiLzX2UTAcXsjimYSCufQ+39J78bjdBktVhlM/nw9cuhZfe+fuKlIoVWmmj08NSOpZCw+RMQsG8gTAiVTGraaqax2e2Y1Rk6koiMkUk9GYbs9V4CFMK331LIJDI5p7jT20AAQ8r8xdeubF27XK8kDcDD1i8I6fdwF6mcpgFrvwzAKxFO3cfcHz4h19ey2uqBkgITZa0rqPf6uA9A3xpQYiisTBFaZrU8kxq8c1XV3of+Z6PYTmmeL16HZcvnwu2Qa4qUladPffS4qZAKJ2egnDy1bIRGjJz7qW5+PzHqSKIL1p2PfGDAVUSleD4aFBMrIkAiPM8+KhbVSSNgaQmKZosGox2a3nwnNHc3s1vttKqKKgkTZPWzkErzE/VG8NanREghrAe6H5Lj7QOjdggwbnaQcH3R4NlECRFkb4j3+zUZFm7/tcXptMrGM9lWp3L9J4624veIfI34wNDb+71Py1CnQlgqHWf+E4nULklFZhLLrzx8hJ6HxmOYvSkpioaDUAgfJei0+OJsldgXkKC0IW6pN4yR6xdQ5YNiS0kpeCV8+GbtaTfaLC1GgBYrBIESujjt2OeQ6dFlrdXrRjYSYLXZNRiocyq5d9MaHGdLIBYbtoDXizkWDkqcjltMxAbgLBWB1s7IBcL5RRw+zolO92GwvV4uC5byUJCAmplt0psspR/ZC2ZVG4Dv/w1H2hVEZ14+VfT22StOi/O12eQzeKYonFrkG+4UiPFQzFVS2UH6VrcNv1K6ZhocnWaqrxka2WRBDDhC5801pYL4WR0uLl61MhaHCxERcNI/O/+YxnqVLTkuSKLbyFVq5pcnErVDgBeZ9v3H1vvkFP+WQHAZHhPnwULWOXY7mNPegAMk1eVhoEUuaKowHrErbxc5ZHQxNvR9geOt+OqVl53H3zMnfTPpIGVChV34cKflwbP/Ki//6tP9zl3H4wCm8jmjh6zwebioNJnOIfbWA6/Ym9G1oYlWflb2bpQpZAt0PcOhKopetrim39bqkXPsEYGDcdiWfDc0lTmGlBvdOaDCOf0mOx9++xqTlA/efXF6Vw8lEOKBptIaNuzwGypvFbtISG8nAW2SuNvlRfAk9CvpTKri2k5HZd3AoS89PwzY7UXPYced3UePtNZr0kMjp0PBMbOhyvbBDQ8r2kFY4d/+NxejOerv//FZDmvdrSx4Hgaumh1p8/RT58a/n7txZR/JqOIGYn3DvBUBTuhuy3eXRbHwLAN+ikgh7hcAFRKRO9DT7TZe/fZ166/F47NXk3uxBDohE3Q9lgxH7Bv2ymQuh5ZL36efqPvyDc8vLvPUu++khOUpH86Ce2FAnnBYQuSCS2lJ195dhq8t2V2MpyZhrbFgK0839FrhtZGDfzntdViHu5ctgRSlrb9R1tcnz/camrrMm/aKwHnQ0MZ9l8+t9o6dMiuM1l1CBABoSeRwqGhpHBbAD0TC9tkE3ibhFzJrF69GApNvBNrhOW2BWR9pwjNor1vv1XHmRno0bGZVKF1l2EzlANP5LiWNn3H8Kl2U5vPvNV7IHRyQBjJ8OSlKBLH/22rWxZgqSRq7XXYPPGeg4+1QQjyJGxpsSoj82EDiFtd6JFkMRktfHyAUAQan88STRamGS/BzrjcHd8poYj7RD4D8hmQ2yRMs1/oj0tWQdL0Rj0leW36RPn6akpep2S7kcnqaVK9a4GMLQpdobRstXNMenZNNCeyavhzHVwQ740vCb2VY3HMsM94o1mAmhpafU42NNJtnhnpMc112fXh5YRc9YWy38kGTw5aJve0GfwpUeXGAXgzPYKfM43NeJndSK8Xuqyc1+uojauNHuhxsFFZzdPgtQ4JfpvgFRmBrIH6mrUy8xGxZSEiuWQtTx/wmeY2G2fliqBj0G+28bp0g9OuYWjNNDO8MMldPFNI8hsxcdN/IqFHmjjtdQRysZlAcHUxwYfaDf4A5EhMULm6S5hR+PL4Jkx7EYGMEsWzHg3L1WXBW6ZZYKxC3ukq4l+QNRbpGcchSCSEJkyLto9ijuBu7AXQZxt5GyZtVsrrK2kWWcrMUuv/ZkPjUXmWzuK9XS5DM4Cg7RJZcToIz3Y0fPohLWr6jKTqb0fRqyN/BH2xtiD+FhQ/h367kTejByq9cBvlLyWbN1R2/OKBp25wx/gT4u49IbRUAvDGrVoUPAf1FlE82oFnt3YTxWMSzB0yXCkl9CdE8eDZKFHn4Nn/BBgAXGwlQW2JqMAAAAAASUVORK5CYII="),Vg._image}get controls(){return[]}render(t){const{left:e,top:n,width:r,height:i}=this.bounds;t.beginPath(),this.drawImage(t,Vg.image,e,n,r,i)}buildRealObject(){return new Wg(this)}get nature(){return $g}get source(){return this.getState("src")}set source(t){this.setState("src",t)}set dimension(t){const{width:e=1,height:n=1,depth:r=1}=t;this.setState({width:e,height:n,depth:r}),this.realObject?.updateDimension()}get nodes(){return this.getState("nodes")}set nodes(t){this.setState("nodes",t)}get animations(){return this.getState("animations")}set animations(t){this.setState("animations",t)}get autoPlay(){return!1!==this.getState("autoPlay")}set autoPlay(t){this.setState("autoPlay",t)}get fillStyleTargets(){return this.getState("fillStyleTargets")}set fillStyleTargets(t){this.setState("fillStyleTargets",t)}get nodeNames(){const t=this.realObject;return t?.nodeNames??[]}get animationNames(){const t=this.realObject;return t?.animationNames??[]}},t.GLTFObject=Vg=yd([$f("gltf-object")],t.GLTFObject);const Xg={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"select",label:"light-type",name:"lightType",property:{options:["","point","directional"]}},{type:"number",label:"intensity",name:"intensity"},{type:"number",label:"distance",name:"distance"},{type:"number",label:"decay",name:"decay"},{type:"checkbox",label:"cast-shadow",name:"castShadow"},{type:"number",label:"near",name:"near",placeholder:"0.5"},{type:"number",label:"far",name:"far",placeholder:"1000"},{type:"number",label:"fov",name:"fov",placeholder:"90"},{type:"number",label:"zoom",name:"zoom",placeholder:"1"},{type:"checkbox",label:"show-helper",name:"showHelper"}],help:"scene/component/light"};class qg extends ph{updatePointLight(){const{lightType:t="point",distance:e=0,intensity:n=10,decay:r=1,fillStyle:i="white",castShadow:s,near:o=.5,far:a=1e3,fov:c=90,zoom:l=1,showHelper:h}=this.component.state;if(this.object3d.color=new x.Color(i),"point"==t&&(this.object3d.distance=e,this.object3d.decay=r),this.object3d.intensity=n,this.object3d.castShadow=s,s){const t=this.object3d.shadow?.camera;t.far=a,t.near=o,t.fov=c,t.zoom=l}if(h){const t=this.object3d.shadow?.camera;this.helper||(this.helper=new x.CameraHelper(t),this.object3d.add(this.helper))}else this.helper&&(this.object3d.remove(this.helper),delete this.helper)}getObject3dInstance(){const{lightType:t="point"}=this.component.state;return"point"==t?new x.PointLight:new x.DirectionalLight}update(){this.clear(),this.build(),this.updateDimension(),this.updateHidden(),this.updatePointLight()}}t.PointLight=class extends Kp{is3dish(){return!0}buildRealObject(){return new qg(this)}get anchors(){return[]}get nature(){return Xg}},t.PointLight=yd([$f("light")],t.PointLight);const Kg={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"number",label:"depth",name:"depth",property:"depth"}],help:"scene/component/wall"};class Zg extends ug{buildGeometry(){const{width:t=0,height:e=0,depth:n=0}=this.component.state,r=new x.BoxGeometry(1,1,1);r.scale(t,n,e),this.object3d.geometry=r}}t.Wall=class extends(Ba(Fa)){is3dish(){return!0}buildRealObject(){return new Zg(this)}get nature(){return Kg}},t.Wall=yd([$f("wall")],t.Wall);class Qg extends ph{build(){super.build()}update(){}}const Jg={far:1e5,fov:80,near:1,zoom:1};class tm extends ph{build(){super.build()}update(){super.update(),this.updateCamera()}getObject3dInstance(){return new x.PerspectiveCamera}updateCamera(){const{near:t=Jg.near,far:e=Jg.far,fov:n=Jg.fov,zoom:r=Jg.zoom}=this.component.state;this.object3d.far=e,this.object3d.fov=n,this.object3d.near=t,this.object3d.zoom=r}}class em extends ph{getObject3dInstance(){return new x.Group}}class nm extends ug{buildGeometry(){const{width:t,height:e}=this.component.state.dimension;this.object3d.geometry=new x.PlaneGeometry(t,e)}buildMaterial(){this.object3d.material=new x.MeshStandardMaterial({opacity:0,side:x.DoubleSide,blending:x.NoBlending})}}class rm extends ph{getObject3dInstance(){return new x.Scene}dispose(){for(const t of this.object3d.children)uh(t);this._animationMixer&&(this._animationMixer.stopAllAction(),this._animationMixer.uncacheRoot(this.object3d),this._animationMixer=void 0),super.dispose()}clear(){return this._floor&&(this.object3d.remove(this._floor),this._floor.material instanceof Array?this._floor.material.forEach(t=>t.dispose()):this._floor.material.dispose(),this._floor.geometry.dispose(),delete this._floor),super.clear()}get floor(){return this._floor}set floor(t){this._floor&&(this.object3d.remove(this._floor),this._floor.clear(),delete this._floor),t&&(this._floor=t,this.object3d.add(t)),this.component.invalidate()}build(){super.build(),this.floor=_h(this.component)}updateTransform(){}updateDimension(){}updatePosition(){}updateRotate(){}updateScale(){}updateAlpha(){}updateHidden(){}get animationMixer(){return this._animationMixer||(this._animationMixer=new x.AnimationMixer(this.object3d)),this._animationMixer}}const im={mutable:!1,resizable:!0,rotatable:!0,properties:[{type:"select",label:"precision",name:"precision",property:{options:[{display:"High",value:"highp"},{display:"Medium",value:"mediump"},{display:"Low",value:"lowp"}]}},{type:"checkbox",label:"anti-alias",name:"antialias",property:"antialias"},{type:"checkbox",label:"3dmode",name:"threed",property:"threed"},{type:"checkbox",label:"auto-rotate",name:"autoRotate",property:"autoRotate"},{type:"checkbox",label:"debug",name:"debug",property:"debug"}],help:"scene/component/three-container"};var sm;t.ThreeContainer=class extends Ip{constructor(){super(...arguments),this._capability=new jh}get sceneManager(){return this._capability.sceneManager}get cameraManager(){return this._capability.cameraManager}get rendererManager(){return this._capability.rendererManager}get lightManager(){return this._capability.lightManager}get controlsManager(){return this._capability.controlsManager}get eventManager(){return this._capability.eventManager}containable(t){return!0}is3dContainer(){return!0}getLightingConfig(){return{hemisphere:{skyColor:14540253,groundColor:3355443,intensity:.035}}}getCss3DSceneAttribute(){return"three-container:css3d-renderer"}init_scene3d(){this._capability.isInitialized&&this._capability.destroy(),this._capability.init(this,{lightingConfig:this.getLightingConfig(),css3DSceneAttribute:this.getCss3DSceneAttribute()}),this._capability.buildOverlays(),this._capability.resize(),this.onchangeData&&this.onchangeData(this.data,this.data)}destroy_scene3d(){this.stop(),this._capability.destroy()}stop(){}resize(){this._capability.resize()}get scene3d(){return this._capability.isInitialized||this.init_scene3d(),this._capability.scene3d}get renderer3d(){return this._capability.renderer3d}get mixer(){return this._capability.mixer}get zoom(){return this._capability.zoom}get css3DScene(){return this._capability.css3DScene}get css3DRenderer(){return this._capability.css3DRenderer}render_threed(){this._capability.renderThreeD()}render(t){this.app.isViewMode&&this.setState("threed",!0),!this.state.threed||this._capability.noSupportWebgl?super.render(t):this._capability.camera&&this._capability.renderCSS3D()}postrender(t){const{left:e,top:n,debug:r,threed:i}=this.state;let{width:s,height:o}=this.bounds;if(s=Math.floor(s),o=Math.floor(o),i){if(this._capability.isInitialized||(this.init_scene3d(),this._capability.renderThreeD()),this._capability.noSupportWebgl)return void this._capability.showWebglNoSupportText(t,this.state.width,this.state.height);if(!this._capability.renderer3d)return;const{width:i,height:a}=this._capability.getRendererSize();t.drawImage(this._capability.domElement,0,0,i,a,e,n,s,o),r&&this._capability.showDebugFPS(t)}else super.postrender(t)}dispose(){this._capability.dispose(),super.dispose()}get layout(){return Va.get("three")}get nature(){return im}getObjectByRaycast(){return this._capability.getObjectByRaycast()}getObjectsByRaycast(){return this._capability.getObjectsByRaycast()}onchange(t,e){(t.hasOwnProperty("width")||t.hasOwnProperty("height"))&&this._capability.destroy(),this._capability.onchange(t)}onmousedown(t){this._capability.onMouseDown(t)}onmouseup(t){this._capability.onMouseUp(t)}onmousemove(t){this._capability.onMouseMove(t)}onmouseleave(t){this._capability.onMouseLeave(t)}onwheel(t){this._capability.onWheel(t)}ondblclick(t){this._capability.onDblClick(t)}ondragstart(t){this._capability.onDragStart(t)}ondragmove(t){this._capability.onDragMove(t)}ondragend(t){this._capability.onDragEnd(t)}ontouchstart(t){this._capability.onTouchStart(t)}onpan(t){this._capability.onPan(t)}ontouchend(t){this._capability.onTouchEnd(t)}onkeydown(t){this._capability.onKeyDown(t)}onpinch(t){this._capability.onPinch(t)}ondoubletap(){this._capability.onDoubleTap()}},t.ThreeContainer=yd([$f("3d-container")],t.ThreeContainer),bh(t=>{const e=t.state.material3d?.spriteMode;return"plane"===e?new hg(t):new lg(t)}),t.Model=void 0,(sm=t.Model||(t.Model={})).compile=$c,sm.duplicate=Xc,sm.select=ha,sm.match=aa,_r.registerResidents(()=>({componentResidentsCount:La.residentsCount,sceneResidentsCount:fd.residentsCount,referenceMapResidentsCount:Kf.residentsCount,sceneResidents:La.residents}));var om=Object.freeze({__proto__:null,AbsoluteLayout:Xa,AudioPlayer:wf,get Banner(){return t.Banner},Banner3D:Lg,get Camera(){return t.Camera},Camera3D:Gg,CameraManager:Ah,CardLayout:Ka,Component:La,Connectable:Bh,Container:Ip,ContainerAbstract:pc,ControlsManager:kh,get Cube(){return t.Cube},Cube3D:jg,get Cylinder(){return t.Cylinder},Cylinder3D:zg,DEFAULT:Ai,DPPX:xi,DataSource:Vf,Donut:Nf,DonutExtrude:Eg,Ellipse:Kp,EllipseExtrude:Ag,EventManager3D:Ch,EventMap:Nu,FPS:Wl,GESTURES:_i,get GLTFObject(){return t.GLTFObject},GifView:xf,GizmoManager:Th,GizmoOperationManager:Ph,GlobalRef:Pf,Group:Mf,HTMLAbsoluteLayout:$a,HTMLOverlayContainer:Cf,HTMLOverlayElement:cf,ImageView:af,InfoWindow:Ha,InteractionManager:Oh,KEYEVENTS:wi,Layer:fc,Layout:Va,LightManager:Mh,LightObject:qg,Line:Xp,LinearHorizontalLayout:Qa,LinearVerticalLayout:tc,LocalRef:kf,MATERIAL_PRESETS:sh,MAX_UNDO_SIZE:30,MODE_ADD:3,MODE_EDIT:1,MODE_PASTE_DATABIND:5,MODE_PASTE_STYLE:4,MODE_SHIFT:2,MODE_VIEW:0,get Model(){return t.Model},MoveHandle:uc,NOTHING:bi,Node:Hf,OrthoLine:sf,PIXEL_RATIO:Vl,Path:If,PlacementManager:Dh,get PointLight(){return t.PointLight},Polygon:Jp,PolygonExtrude:Mg,Polyline:nf,Popup:jf,RealObject:ph,RealObjectCamera:tm,RealObjectDomElement:fh,RealObjectDomTexture:bg,RealObjectDummy:Qg,RealObjectExtrude:wg,RealObjectGLTF:Wg,RealObjectGroup:em,RealObjectMesh:ug,RealObjectPlane:nm,RealObjectPlane2D:hg,RealObjectScene:rm,RealObjectSprite:sg,RealObjectSprite2D:lg,RealObjectText:yg,Rect:Uh,RectExtrude:Sg,RectPath:Ba,ReferenceMap:Kf,RendererManager:Sh,RootContainer:Ju,Ruler:Wh,SCALE_MIN:Jl,SCENE_MODE:vi,Scene:fd,SceneManager:wh,ScenePopup:lc,ScriptLoader:rg,Shape:Fa,get Sphere(){return t.Sphere},Sphere3D:Pg,get Sprite(){return t.Sprite},Star:Yf,StarExtrude:Cg,TableLayout:ec,Text:Af,ThreeCapability:jh,get ThreeContainer(){return t.ThreeContainer},Triangle:Rf,TriangleExtrude:kg,UNIT_DIMENSION:eh,UNIT_ROTATE:ih,UNIT_SCALE:nh,UNIT_TRANSLATE:rh,ValueHolder:Wf,get Wall(){return t.Wall},Wall3D:Zg,applyAlpha:th,buildArrow3D:Ql,create:md,createCanvas:$l,createCanvasTexture:ag,createFloor:_h,createRealObjectFor:vh,debug:Fr,disposeObject3D:uh,drawTextTexture:fg,error:Rr,fontStyle:dg,initFontFamilyWatcher:Mi,inspector:ud,metrics:_r,projectToScreen:_c,registerDefaultRealObjectFactory:bh,registerRealObjectFactory:yh,renderCanvasTexture:cg,resolveMaterial3d:oh,sceneComponent:$f,stopFPSMeasure:Hl,textBounds:mg,textTexture:gg,toThreeSide:ch,updateDefaultFontFamily:Si,version:ig,warn:Lr});const am=globalThis;"undefined"==typeof globalThis||am.scene||(am.scene=om),t.AbsoluteLayout=Xa,t.AudioPlayer=wf,t.Banner3D=Lg,t.Camera3D=Gg,t.CameraManager=Ah,t.CardLayout=Ka,t.Component=La,t.Connectable=Bh,t.Container=Ip,t.ContainerAbstract=pc,t.ControlsManager=kh,t.Cube3D=jg,t.Cylinder3D=zg,t.DEFAULT=Ai,t.DPPX=xi,t.DataSource=Vf,t.Donut=Nf,t.DonutExtrude=Eg,t.Ellipse=Kp,t.EllipseExtrude=Ag,t.EventManager3D=Ch,t.EventMap=Nu,t.FPS=Wl,t.GESTURES=_i,t.GifView=xf,t.GizmoManager=Th,t.GizmoOperationManager=Ph,t.GlobalRef=Pf,t.Group=Mf,t.HTMLAbsoluteLayout=$a,t.HTMLOverlayContainer=Cf,t.HTMLOverlayElement=cf,t.ImageView=af,t.InfoWindow=Ha,t.InteractionManager=Oh,t.KEYEVENTS=wi,t.Layer=fc,t.Layout=Va,t.LightManager=Mh,t.LightObject=qg,t.Line=Xp,t.LinearHorizontalLayout=Qa,t.LinearVerticalLayout=tc,t.LocalRef=kf,t.MATERIAL_PRESETS=sh,t.MAX_UNDO_SIZE=30,t.MODE_ADD=3,t.MODE_EDIT=1,t.MODE_PASTE_DATABIND=5,t.MODE_PASTE_STYLE=4,t.MODE_SHIFT=2,t.MODE_VIEW=0,t.MoveHandle=uc,t.NOTHING=bi,t.Node=Hf,t.OrthoLine=sf,t.PIXEL_RATIO=Vl,t.Path=If,t.PlacementManager=Dh,t.Polygon=Jp,t.PolygonExtrude=Mg,t.Polyline=nf,t.Popup=jf,t.RealObject=ph,t.RealObjectCamera=tm,t.RealObjectDomElement=fh,t.RealObjectDomTexture=bg,t.RealObjectDummy=Qg,t.RealObjectExtrude=wg,t.RealObjectGLTF=Wg,t.RealObjectGroup=em,t.RealObjectMesh=ug,t.RealObjectPlane=nm,t.RealObjectPlane2D=hg,t.RealObjectScene=rm,t.RealObjectSprite=sg,t.RealObjectSprite2D=lg,t.RealObjectText=yg,t.Rect=Uh,t.RectExtrude=Sg,t.RectPath=Ba,t.ReferenceMap=Kf,t.RendererManager=Sh,t.RootContainer=Ju,t.Ruler=Wh,t.SCALE_MIN=Jl,t.SCENE_MODE=vi,t.Scene=fd,t.SceneManager=wh,t.ScenePopup=lc,t.ScriptLoader=rg,t.Shape=Fa,t.Sphere3D=Pg,t.Star=Yf,t.StarExtrude=Cg,t.TableLayout=ec,t.Text=Af,t.ThreeCapability=jh,t.Triangle=Rf,t.TriangleExtrude=kg,t.UNIT_DIMENSION=eh,t.UNIT_ROTATE=ih,t.UNIT_SCALE=nh,t.UNIT_TRANSLATE=rh,t.ValueHolder=Wf,t.Wall3D=Zg,t.applyAlpha=th,t.buildArrow3D=Ql,t.create=md,t.createCanvas=$l,t.createCanvasTexture=ag,t.createFloor=_h,t.createRealObjectFor=vh,t.debug=Fr,t.disposeObject3D=uh,t.drawTextTexture=fg,t.error=Rr,t.fontStyle=dg,t.initFontFamilyWatcher=Mi,t.inspector=ud,t.metrics=_r,t.projectToScreen=_c,t.registerDefaultRealObjectFactory=bh,t.registerRealObjectFactory=yh,t.renderCanvasTexture=cg,t.resolveMaterial3d=oh,t.sceneComponent=$f,t.stopFPSMeasure=Hl,t.textBounds=mg,t.textTexture=gg,t.toThreeSide=ch,t.updateDefaultFontFamily=Si,t.version=ig,t.warn=Lr});
|
|
74
74
|
//# sourceMappingURL=things-scene-min.js.map
|